json: Fix crash on invalid json
authorAndre Heinecke <aheinecke@intevation.de>
Mon, 16 Jul 2018 17:47:11 +0000 (19:47 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Mon, 16 Jul 2018 17:47:11 +0000 (19:47 +0200)
* src/gpgme-json.c (process_request): Init res. Check for
json object before encode and chunk.

--
If json is invalid we can't read chunksize and would crash
in encode and chunk.

src/gpgme-json.c

index 0aeb7f9..06f09ef 100644 (file)
@@ -3104,7 +3104,7 @@ process_request (const char *request)
   int helpmode;
   int is_getmore = 0;
   const char *op;
-  char *res;
+  char *res = NULL;
   int idx;
 
   response = xjson_CreateObject ();
@@ -3188,7 +3188,7 @@ process_request (const char *request)
       else
         res = cJSON_PrintUnformatted (response);
     }
-  else
+  else if (json)
     res = encode_and_chunk (json, response);
   if (!res)
     log_error ("Printing JSON data failed\n");