From: jinwang.an Date: Thu, 31 Jan 2019 02:47:31 +0000 (+0900) Subject: Fixed NULL pointer dereference. X-Git-Tag: submit/tizen_4.0/20190305.095015^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F05%2F198905%2F3;p=platform%2Fcore%2Fapi%2Fsystem-settings.git Fixed NULL pointer dereference. - _get_user_ringtones() Change-Id: Id87f729fef2c659d8ae0f51d96d695dec7005cee Signed-off-by: jinwang.an --- diff --git a/src/system_setting_platform.c b/src/system_setting_platform.c index e631b2c..a04cb88 100644 --- a/src/system_setting_platform.c +++ b/src/system_setting_platform.c @@ -443,6 +443,10 @@ static void _get_user_ringtones(system_settings_key_e key, system_settings_iter_ { SETTING_TRACE_BEGIN; + if (callback == NULL) { + SETTING_TRACE("--> callback is NULL"); + return; + } #ifdef USE_JSONFILE // NOT IN USE JsonParser* parser = ss_json_ringtone_open_file(JSONFILE); @@ -458,8 +462,8 @@ static void _get_user_ringtones(system_settings_key_e key, system_settings_iter_ JsonObject *ringtone = json_array_get_object_element(json_node_get_array(root), i); char *nameval = (char *)json_object_get_string_member(ringtone, "name"); char *pathval = (char *)json_object_get_string_member(ringtone, "path"); - SETTING_TRACE("(%s) --- (%s) \n", nameval, pathval); - if (callback) { + if (pathval && nameval) { + SETTING_TRACE("(%s) --- (%s) \n", nameval, pathval); char* path = strdup(pathval); bool ret = callback(i, (void *)(path), data); if (ret == false) { @@ -467,7 +471,7 @@ static void _get_user_ringtones(system_settings_key_e key, system_settings_iter_ break; } } else { - SETTING_TRACE("--> callback is NULL"); + SETTING_TRACE("--> pathval or nameval is NULL"); } } }