I have reproduced the issue by calling `kz_json_parse(mystr)` where `mysrt` has `NULL` value. ```diff diff --git a/src/modules/kazoo/kz_amqp.c b/src/modules/kazoo/kz_amqp.c index 8076315dfd..6f5f84716a 100644 --- a/src/modules/kazoo/kz_amqp.c +++ b/src/modules/kazoo/kz_amqp.c @@ -2417,6 +2417,7 @@ static void kz_amqp_consumer_event_kemi(void)
void kz_amqp_consumer_event(kz_amqp_consumer_delivery_ptr Evt) { + char* mystr = NULL; json_obj_ptr json_obj = NULL;
eventData = Evt->payload; @@ -2424,6 +2425,7 @@ void kz_amqp_consumer_event(kz_amqp_consumer_delivery_ptr Evt) eventKey = Evt->routing_key->s; }
+ json_obj = kz_json_parse(mystr); json_obj = kz_json_parse(Evt->payload); if (json_obj == NULL) return; ```
I have fixed issue by: ```diff diff --git a/src/modules/kazoo/kz_json.c b/src/modules/kazoo/kz_json.c index 5ab8f68c79..0e5f2e8b10 100644 --- a/src/modules/kazoo/kz_json.c +++ b/src/modules/kazoo/kz_json.c @@ -276,6 +276,11 @@ struct json_object* kz_json_parse(const char *str) struct json_tokener* tok; struct json_object* obj;
+ if (str == NULL || str[0] == 0) { + LM_ERR("Error parsing json: empty string\n"); + return NULL; + } + tok = json_tokener_new(); if (!tok) { LM_ERR("Error parsing json: could not allocate tokener\n"); ```