From 9d312ae7509b6d47dbbae89e3d55dcf4cbba7b0d Mon Sep 17 00:00:00 2001 From: John Scipione Date: Tue, 25 Feb 2014 14:47:53 -0500 Subject: [PATCH] ScreenSaverSettings: Check that name is valid ... before trying to use it in GetModuleState() and SetModuleState() also, rename the stateMsg variable to stateMessage (already correct in header) --- src/kits/screensaver/ScreenSaverSettings.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/kits/screensaver/ScreenSaverSettings.cpp b/src/kits/screensaver/ScreenSaverSettings.cpp index 0209f60869..73175cd6e9 100644 --- a/src/kits/screensaver/ScreenSaverSettings.cpp +++ b/src/kits/screensaver/ScreenSaverSettings.cpp @@ -172,21 +172,27 @@ ScreenSaverSettings::Message() status_t -ScreenSaverSettings::GetModuleState(const char* name, BMessage* stateMsg) +ScreenSaverSettings::GetModuleState(const char* name, BMessage* stateMessage) { + if (name == NULL || *name == '\0') + return B_BAD_VALUE; + BString stateName("modulesettings_"); - stateName += name; - return fSettings.FindMessage(stateName.String(), stateMsg); + stateName << name; + return fSettings.FindMessage(stateName, stateMessage); } void -ScreenSaverSettings::SetModuleState(const char* name, BMessage* stateMsg) +ScreenSaverSettings::SetModuleState(const char* name, BMessage* stateMessage) { + if (name == NULL || *name == '\0') + return; + BString stateName("modulesettings_"); - stateName += name; + stateName << name; fSettings.RemoveName(stateName.String()); - fSettings.AddMessage(stateName.String(), stateMsg); + fSettings.AddMessage(stateName.String(), stateMessage); }