[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] tools/{lib,}xl: fix usage of error return from json_tokener_parse_verbose()



commit 98cdab167938d74fcce5b83260a43610316bafb2
Author:     Roger Pau Monne <roger.pau@xxxxxxxxxx>
AuthorDate: Wed Oct 15 13:49:49 2025 +0200
Commit:     Roger Pau Monne <roger.pau@xxxxxxxxxx>
CommitDate: Thu Oct 16 17:20:10 2025 +0200

    tools/{lib,}xl: fix usage of error return from json_tokener_parse_verbose()
    
    It's possible for json_tokener_parse_verbose() to return NULL and leave the
    error parameter unset.  Initialize the error variable at definition to an
    existing error token to make sure it's not uninitialized in case of
    failure.
    
    Reported by XenServer internal Coverity instance.
    
    Fixes: 7e95dab9eb63 ("libxl: Convert libxl__json_parse() to use json-c")
    Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 tools/libs/light/libxl_json.c | 2 +-
 tools/xl/xl_info.c            | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c
index c76ae9f64a..e895cca4cf 100644
--- a/tools/libs/light/libxl_json.c
+++ b/tools/libs/light/libxl_json.c
@@ -1366,7 +1366,7 @@ libxl__json_object *libxl__json_parse(libxl__gc *gc, 
const char *s)
     libxl__json_object *o = NULL;
 #ifdef USE_LIBJSONC_PARSER
     json_object *jso;
-    enum json_tokener_error error;
+    enum json_tokener_error error = json_tokener_error_parse_unexpected;
 
     jso = json_tokener_parse_verbose(s, &error);
     if (!jso) {
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 80a3b25aac..47f4bb7e3f 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -67,7 +67,7 @@ static int printf_info_one_json(json_object **jso_r, int 
domid,
 {
     json_object *jso = NULL;
     json_object *jso_config = NULL;
-    enum json_tokener_error error;
+    enum json_tokener_error error = json_tokener_error_parse_unexpected;
     char *s = NULL;
     int r = EXIT_FAILURE;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.