[sr-dev] git:master:2ceb44f5: kazoo: parse json with amqp specified bytes

lazedo luis.azedo at factorlusitano.com
Sun Apr 9 04:11:16 CEST 2017


Module: kamailio
Branch: master
Commit: 2ceb44f5b57f465b97f45a67183e9caf52610364
URL: https://github.com/kamailio/kamailio/commit/2ceb44f5b57f465b97f45a67183e9caf52610364

Author: lazedo <luis.azedo at factorlusitano.com>
Committer: lazedo <luis.azedo at factorlusitano.com>
Date: 2017-04-09T03:10:49+01:00

kazoo: parse json with amqp specified bytes

---

Modified: src/modules/kazoo/kz_amqp.c

---

Diff:  https://github.com/kamailio/kamailio/commit/2ceb44f5b57f465b97f45a67183e9caf52610364.diff
Patch: https://github.com/kamailio/kamailio/commit/2ceb44f5b57f465b97f45a67183e9caf52610364.patch

---

diff --git a/src/modules/kazoo/kz_amqp.c b/src/modules/kazoo/kz_amqp.c
index 394dee2..c3faa05 100644
--- a/src/modules/kazoo/kz_amqp.c
+++ b/src/modules/kazoo/kz_amqp.c
@@ -2868,8 +2868,16 @@ void kz_amqp_send_worker_event(kz_amqp_server_ptr server_ptr, amqp_envelope_t* e
     int idx = envelope->channel-1;
     int worker = 0;
     int _kz_server_id = server_ptr->id;
-
-    json_obj_ptr json_obj = kz_json_parse((char*)envelope->message.body.bytes);
+    int msg_size = envelope->message.body.len;
+    char *json_data = pkg_malloc(msg_size + 1);
+    if(!json_data) {
+    	LM_ERR("no more package memory available. needed %d\n", msg_size + 1);
+    	return;
+    }
+    memset(json_data, 0, msg_size + 1);
+    memcpy(json_data, (char*)envelope->message.body.bytes, msg_size);
+    json_obj_ptr json_obj = kz_json_parse(json_data);
+    pkg_free(json_data);
     if (json_obj == NULL) {
     	LM_ERR("error parsing json body\n");
     	return;




More information about the sr-dev mailing list