Blob Blame History Raw
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Thu, 13 Aug 2020 22:36:54 +0200
Subject: [PATCH] evi: More verbose about which param caused crash

When using evi interface sometimes we need to know exactly which
parameter led to failure. At least we need its name and event's name.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>

diff --git a/evi/evi_transport.c b/evi/evi_transport.c
index 361189ddf..defa1514d 100644
--- a/evi/evi_transport.c
+++ b/evi/evi_transport.c
@@ -193,7 +193,7 @@ char *evi_build_payload(evi_params_t *params, str *method, int id,
 		} else {
 			tmp = cJSON_CreateStr(param->val.s.s, param->val.s.len);
 			if (!tmp) {
-				LM_ERR("Failed to create string param\n");
+				LM_ERR("Failed to create JSON string %.*s\n", param->name.len, param->name.s);
 				goto end;
 			}
 		}
diff --git a/modules/event_datagram/event_datagram.c b/modules/event_datagram/event_datagram.c
index 4256174cf..d0a0d8385 100644
--- a/modules/event_datagram/event_datagram.c
+++ b/modules/event_datagram/event_datagram.c
@@ -314,7 +314,7 @@ static int datagram_raise(struct sip_msg *msg, str* ev_name,
 
 	buf.s = evi_build_payload(params, ev_name, 0, NULL, NULL);
 	if (!buf.s) {
-		LM_ERR("Failed to build event payload\n");
+		LM_ERR("Failed to build event payload %.*s\n", ev_name->len, ev_name->s);
 		return -1;
 	}
 	buf.len = strlen(buf.s);
diff --git a/modules/event_rabbitmq/event_rabbitmq.c b/modules/event_rabbitmq/event_rabbitmq.c
index 99c3a9750..d5240875e 100644
--- a/modules/event_rabbitmq/event_rabbitmq.c
+++ b/modules/event_rabbitmq/event_rabbitmq.c
@@ -478,7 +478,7 @@ static int rmq_raise(struct sip_msg *msg, str* ev_name,
 
 	buf.s = evi_build_payload(params, ev_name, 0, NULL, NULL);
 	if (!buf.s) {
-		LM_ERR("Failed to build event payload\n");
+		LM_ERR("Failed to build event payload %.*s\n", ev_name->len, ev_name->s);
 		return -1;
 	}
 	buf.len = strlen(buf.s);
diff --git a/modules/event_stream/stream_send.c b/modules/event_stream/stream_send.c
index 33a5a19f1..74e9c4303 100644
--- a/modules/event_stream/stream_send.c
+++ b/modules/event_stream/stream_send.c
@@ -254,7 +254,7 @@ int stream_build_buffer(str *event_name, evi_reply_sock *sock,
 	s = evi_build_payload(params, method, stream_sync_mode ? id : 0,
 		extra_param.s ? &extra_param : NULL, extra_param.s ? event_name : NULL);
 	if (!s) {
-		LM_ERR("Failed to build event payload\n");
+		LM_ERR("Failed to build event payload %.*s\n", event_name->len, event_name->s);
 		return -1;
 	}