From: Abhishek Vijay Date: Tue, 10 Jul 2018 11:02:16 +0000 (+0530) Subject: [Non-ACR][Resolving crash issue due to NULL string(DF180706-00508)] X-Git-Tag: accepted/tizen/unified/20180712.142227^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F27%2F183727%2F3;p=platform%2Fcore%2Faccount%2Faccount-parser.git [Non-ACR][Resolving crash issue due to NULL string(DF180706-00508)] Change-Id: Ide783b7eff5ade1ebcbd42172c3b961d6c2a0a75 Signed-off-by: Abhishek Vijay --- diff --git a/src/account.c b/src/account.c index b488ea5..04d8f1b 100644 --- a/src/account.c +++ b/src/account.c @@ -355,7 +355,7 @@ int _register_account_provider(xmlDocPtr docPtr, char* account_provider_app_id) _SECURE_D("Attribute: xml:lang - %s", xml_lang); char* lang = (char*)xml_lang; - char* converted_lang = NULL; + gchar* converted_lang = NULL; gchar** tokens = g_strsplit(lang, "-", 2); if (tokens == NULL) { @@ -364,16 +364,29 @@ int _register_account_provider(xmlDocPtr docPtr, char* account_provider_app_id) goto CATCH; } - char* upper_token = g_ascii_strup(tokens[1], strlen(tokens[1])); - if (upper_token == NULL) { - ret = -1; - g_strfreev(tokens); - _E("Failed to convert to upper case."); + gchar *upper_token = NULL; + if (tokens[1] != NULL) { + upper_token = g_ascii_strup(tokens[1], strlen(tokens[1])); + if (upper_token == NULL) { + ret = -1; + g_strfreev(tokens); + _E("Failed to convert to upper case."); + goto CATCH; + } + } else { + _E("upper-token string is not available"); goto CATCH; } - converted_lang = g_strdup_printf("%s_%s", tokens[0], upper_token); - free(upper_token); + if (tokens[0] != NULL) { + converted_lang = g_strdup_printf("%s_%s", tokens[0], upper_token); + g_free(upper_token); + } else { + _E("token string not available"); + g_free(upper_token); + g_strfreev(tokens); + goto CATCH; + } if (converted_lang == NULL) { ret = -1;