|
@@ -344,6 +344,7 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * |
|
|
newloc = newlocale(LC_NUMERIC_MASK, "C", duploc); |
|
|
newloc = newlocale(LC_NUMERIC_MASK, "C", duploc); |
|
|
if (newloc == NULL) |
|
|
if (newloc == NULL) |
|
|
{ |
|
|
{ |
|
|
|
|
|
tok->err = json_tokener_error_memory; |
|
|
freelocale(duploc); |
|
|
freelocale(duploc); |
|
|
return NULL; |
|
|
return NULL; |
|
|
} |
|
|
} |
|
@@ -362,7 +363,10 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * |
|
|
{ |
|
|
{ |
|
|
oldlocale = strdup(tmplocale); |
|
|
oldlocale = strdup(tmplocale); |
|
|
if (oldlocale == NULL) |
|
|
if (oldlocale == NULL) |
|
|
|
|
|
{ |
|
|
|
|
|
tok->err = json_tokener_error_memory; |
|
|
return NULL; |
|
|
return NULL; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
setlocale(LC_NUMERIC, "C"); |
|
|
setlocale(LC_NUMERIC, "C"); |
|
|
} |
|
|
} |
|
@@ -1257,7 +1261,11 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * |
|
|
goto redo_char; |
|
|
goto redo_char; |
|
|
|
|
|
|
|
|
case json_tokener_state_object_value_add: |
|
|
case json_tokener_state_object_value_add: |
|
|
json_object_object_add(current, obj_field_name, obj); |
|
|
|
|
|
|
|
|
if (json_object_object_add(current, obj_field_name, obj) != 0) |
|
|
|
|
|
{ |
|
|
|
|
|
tok->err = json_tokener_error_memory; |
|
|
|
|
|
goto out; |
|
|
|
|
|
} |
|
|
free(obj_field_name); |
|
|
free(obj_field_name); |
|
|
obj_field_name = NULL; |
|
|
obj_field_name = NULL; |
|
|
saved_state = json_tokener_state_object_sep; |
|
|
saved_state = json_tokener_state_object_sep; |
|
|