From e1485772b791a551a030386097d705ec5447a2b9 Mon Sep 17 00:00:00 2001 From: "jinwang.an" Date: Mon, 26 Mar 2018 17:00:17 +0900 Subject: [PATCH] Add NULL check before calling callback to create ringtone list. Change-Id: I1489ce13506ef236227a501db023857e8a1420df Signed-off-by: jinwang.an --- src/system_setting_platform.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/system_setting_platform.c b/src/system_setting_platform.c index b03fd57..ce0b0c3 100644 --- a/src/system_setting_platform.c +++ b/src/system_setting_platform.c @@ -461,17 +461,20 @@ static void _get_user_ringtones(system_settings_key_e key, system_settings_iter_ 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 (callback && pathval) { char* path = strdup(pathval); bool ret = callback(i, (void *)(path), data); if (ret == false) { SETTING_TRACE("quit the iteration by return value == false : %d", ret); break; } + FREE(path); } else { SETTING_TRACE("--> callback is NULL"); } } + + g_object_unref(parser); } int system_setting_list_incoming_call_ringtone(system_settings_key_e key, system_settings_iter_cb callback, void *data) -- 2.7.4