mirror of
https://github.com/json-c/json-c.git
synced 2026-03-21 05:59:07 +08:00
Handle yet another out-of-memory condition.
duplocale() can return NULL, with errno set to ENOMEM. In this case, bail out and set the current error code to json_tokener_error_memory.
This commit is contained in:
@@ -341,6 +341,11 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char *
|
||||
#ifdef HAVE_USELOCALE
|
||||
{
|
||||
locale_t duploc = duplocale(oldlocale);
|
||||
if (duploc == NULL && errno == ENOMEM)
|
||||
{
|
||||
tok->err = json_tokener_error_memory;
|
||||
return NULL;
|
||||
}
|
||||
newloc = newlocale(LC_NUMERIC_MASK, "C", duploc);
|
||||
if (newloc == NULL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user