_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) {
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;