Projects
openEuler:24.03:SP1:Everything:64G
json-c
_service:tar_scm:backport-Issue-857-fix-a-few-p...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-Issue-857-fix-a-few-places-where-json_tokener-should.patch of Package json-c
From 31a22fb2dabae30a759ae3346b493b44cedf1647 Mon Sep 17 00:00:00 2001 From: Eric Hawicz <erh+git@nimenees.com> Date: Sun, 21 Apr 2024 10:37:16 -0400 Subject: [PATCH] Issue #857: fix a few places where json_tokener should have been returning json_tokener_error_memory but wasn't. --- json_tokener.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/json_tokener.c b/json_tokener.c index e8244a3..cc35527 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -344,6 +344,7 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * newloc = newlocale(LC_NUMERIC_MASK, "C", duploc); if (newloc == NULL) { + tok->err = json_tokener_error_memory; freelocale(duploc); return NULL; } @@ -362,7 +363,10 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * { oldlocale = strdup(tmplocale); if (oldlocale == NULL) + { + tok->err = json_tokener_error_memory; return NULL; + } } setlocale(LC_NUMERIC, "C"); } @@ -1257,7 +1261,11 @@ struct json_object *json_tokener_parse_ex(struct json_tokener *tok, const char * goto redo_char; 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); obj_field_name = NULL; saved_state = json_tokener_state_object_sep; -- 2.43.4
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2