From 5377c49be42eb630ed3c3779c8c2e612fba1825f Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Fri, 24 Dec 2010 02:20:33 +0000 Subject: [PATCH] CID 4383 and 4384: Fix wrong checks of index values against kMaxWorkspaces that could otherwise lead to out of bound access. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39933 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 6 +++--- src/servers/app/DesktopSettings.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 370400e874..a86660659f 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -673,7 +673,7 @@ Desktop::SetScreenMode(int32 workspace, int32 id, const display_mode& mode, if (workspace == B_CURRENT_WORKSPACE_INDEX) workspace = fCurrentWorkspace; - if (workspace < 0 || workspace > kMaxWorkspaces) + if (workspace < 0 || workspace >= kMaxWorkspaces) return B_BAD_VALUE; Screen* screen = fVirtualScreen.ScreenByID(id); @@ -742,7 +742,7 @@ Desktop::GetScreenMode(int32 workspace, int32 id, display_mode& mode) if (workspace == B_CURRENT_WORKSPACE_INDEX) workspace = fCurrentWorkspace; - if (workspace < 0 || workspace > kMaxWorkspaces) + if (workspace < 0 || workspace >= kMaxWorkspaces) return B_BAD_VALUE; if (workspace == fCurrentWorkspace) { @@ -774,7 +774,7 @@ Desktop::GetScreenFrame(int32 workspace, int32 id, BRect& frame) if (workspace == B_CURRENT_WORKSPACE_INDEX) workspace = fCurrentWorkspace; - if (workspace < 0 || workspace > kMaxWorkspaces) + if (workspace < 0 || workspace >= kMaxWorkspaces) return B_BAD_VALUE; if (workspace == fCurrentWorkspace) { diff --git a/src/servers/app/DesktopSettings.cpp b/src/servers/app/DesktopSettings.cpp index f6ea28e20c..d4378d3532 100644 --- a/src/servers/app/DesktopSettings.cpp +++ b/src/servers/app/DesktopSettings.cpp @@ -610,7 +610,7 @@ DesktopSettingsPrivate::WorkspacesRows() const void DesktopSettingsPrivate::SetWorkspacesMessage(int32 index, BMessage& message) { - if (index < 0 || index > kMaxWorkspaces) + if (index < 0 || index >= kMaxWorkspaces) return; fWorkspaceMessages[index] = message; @@ -620,7 +620,7 @@ DesktopSettingsPrivate::SetWorkspacesMessage(int32 index, BMessage& message) const BMessage* DesktopSettingsPrivate::WorkspacesMessage(int32 index) const { - if (index < 0 || index > kMaxWorkspaces) + if (index < 0 || index >= kMaxWorkspaces) return NULL; return &fWorkspaceMessages[index];