From 7e617ab89f5275f1b269382ae2c1fee508854cf1 Mon Sep 17 00:00:00 2001 From: Pantelis Kolatsis Date: Tue, 14 Mar 2023 21:10:04 +0000 Subject: [PATCH] dmq: add missing memory allocation checks, convert to memory log macros --- src/modules/dmq/dmq.c | 7 ++++--- src/modules/dmq/dmq_funcs.c | 6 +++--- src/modules/dmq/dmqnode.c | 8 ++++---- src/modules/dmq/message.c | 2 +- src/modules/dmq/notification_peer.c | 4 ++-- src/modules/dmq/peer.c | 4 ++-- src/modules/dmq/worker.c | 4 ++-- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/modules/dmq/dmq.c b/src/modules/dmq/dmq.c index 45d92d8400d..b4d18ea8b00 100644 --- a/src/modules/dmq/dmq.c +++ b/src/modules/dmq/dmq.c @@ -156,7 +156,7 @@ static int make_socket_str_from_uri(struct sip_uri *uri, str *socket) socket->len = uri->host.len + uri->port.len + 7 /*sctp + : + : \0*/; socket->s = pkg_malloc(socket->len); if(socket->s == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; return -1; } @@ -245,14 +245,15 @@ static int mod_init(void) /* allocate workers array */ dmq_workers = shm_malloc(dmq_num_workers * sizeof(dmq_worker_t)); if(dmq_workers == NULL) { - LM_ERR("error in shm_malloc\n"); + SHM_MEM_ERROR; return -1; } memset(dmq_workers, 0, dmq_num_workers * sizeof(dmq_worker_t)); dmq_init_callback_done = shm_malloc(sizeof(int)); if(!dmq_init_callback_done) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; + shm_free(dmq_workers); return -1; } *dmq_init_callback_done = 0; diff --git a/src/modules/dmq/dmq_funcs.c b/src/modules/dmq/dmq_funcs.c index 5b8f363f660..3e5195607b7 100644 --- a/src/modules/dmq/dmq_funcs.c +++ b/src/modules/dmq/dmq_funcs.c @@ -91,7 +91,7 @@ int build_uri_str(str *username, struct sip_uri *uri, str *from) + TRANSPORT_PARAM_LEN; from->s = pkg_malloc(from_len); if(from->s == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; return -1; } from->len = 0; @@ -231,7 +231,7 @@ int dmq_send_message(dmq_peer_t *peer, str *body, dmq_node_t *node, str_hdr.len = 34 + content_type->len + (CRLF_LEN * 2); str_hdr.s = pkg_malloc(str_hdr.len); if(str_hdr.s == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; return -1; } len += sprintf(str_hdr.s, "Max-Forwards: %d" CRLF "Content-Type: %.*s" CRLF, @@ -240,7 +240,7 @@ int dmq_send_message(dmq_peer_t *peer, str *body, dmq_node_t *node, cb_param = shm_malloc(sizeof(*cb_param)); if(cb_param == NULL) { - LM_ERR("no more shm for building callback parameter\n"); + SHM_MEM_ERROR; goto error; } memset(cb_param, 0, sizeof(*cb_param)); diff --git a/src/modules/dmq/dmqnode.c b/src/modules/dmq/dmqnode.c index 4300f80b54d..6fdf349d819 100644 --- a/src/modules/dmq/dmqnode.c +++ b/src/modules/dmq/dmqnode.c @@ -69,7 +69,7 @@ dmq_node_list_t *init_dmq_node_list() dmq_node_list_t *node_list; node_list = shm_malloc(sizeof(dmq_node_list_t)); if(node_list == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return NULL; } memset(node_list, 0, sizeof(dmq_node_list_t)); @@ -164,7 +164,7 @@ dmq_node_t *build_dmq_node(str *uri, int shm) if(shm) { ret = shm_malloc(sizeof(dmq_node_t)); if(ret == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; goto error; } memset(ret, 0, sizeof(dmq_node_t)); @@ -174,7 +174,7 @@ dmq_node_t *build_dmq_node(str *uri, int shm) } else { ret = pkg_malloc(sizeof(dmq_node_t)); if(ret == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; goto error; } memset(ret, 0, sizeof(dmq_node_t)); @@ -288,7 +288,7 @@ dmq_node_t *shm_dup_node(dmq_node_t *node) newnode = shm_malloc(sizeof(dmq_node_t)); if(newnode == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return NULL; } memcpy(newnode, node, sizeof(dmq_node_t)); diff --git a/src/modules/dmq/message.c b/src/modules/dmq/message.c index 8ac8870819d..6bc69dec3d6 100644 --- a/src/modules/dmq/message.c +++ b/src/modules/dmq/message.c @@ -51,7 +51,7 @@ int set_reply_body(struct sip_msg *msg, str *body, str *content_type) buf = pkg_malloc(sizeof(char) * (len)); if(buf == 0) { - LM_ERR("out of pkg memory\n"); + PKG_MEM_ERROR; return -1; } memcpy(buf, "Content-Type: ", sizeof("Content-Type: ") - 1); diff --git a/src/modules/dmq/notification_peer.c b/src/modules/dmq/notification_peer.c index d40fd2cac2e..c7d9eaa653e 100644 --- a/src/modules/dmq/notification_peer.c +++ b/src/modules/dmq/notification_peer.c @@ -524,7 +524,7 @@ str *build_notification_body() str *body; body = pkg_malloc(sizeof(str)); if(body == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; return NULL; } memset(body, 0, sizeof(str)); @@ -532,7 +532,7 @@ str *build_notification_body() body->len = NBODY_LEN; body->s = pkg_malloc(body->len); if(body->s == NULL) { - LM_ERR("no more pkg\n"); + PKG_MEM_ERROR; pkg_free(body); return NULL; } diff --git a/src/modules/dmq/peer.c b/src/modules/dmq/peer.c index 8311d7a7d83..38bc1422ce6 100644 --- a/src/modules/dmq/peer.c +++ b/src/modules/dmq/peer.c @@ -32,7 +32,7 @@ dmq_peer_list_t *init_peer_list() dmq_peer_list_t *dmq_peer_list; dmq_peer_list = shm_malloc(sizeof(dmq_peer_list_t)); if(dmq_peer_list == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return NULL; } memset(dmq_peer_list, 0, sizeof(dmq_peer_list_t)); @@ -67,7 +67,7 @@ dmq_peer_t *add_peer(dmq_peer_list_t *peer_list, dmq_peer_t *peer) new_peer = shm_malloc( sizeof(dmq_peer_t) + peer->peer_id.len + peer->description.len); if(new_peer == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return NULL; } *new_peer = *peer; diff --git a/src/modules/dmq/worker.c b/src/modules/dmq/worker.c index 4ad2c52b7dd..64f5a79621e 100644 --- a/src/modules/dmq/worker.c +++ b/src/modules/dmq/worker.c @@ -221,7 +221,7 @@ job_queue_t *alloc_job_queue() queue = shm_malloc(sizeof(job_queue_t)); if(queue == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return NULL; } memset(queue, 0, sizeof(job_queue_t)); @@ -257,7 +257,7 @@ int job_queue_push(job_queue_t *queue, dmq_job_t *job) newjob = shm_malloc(sizeof(dmq_job_t)); if(newjob == NULL) { - LM_ERR("no more shm\n"); + SHM_MEM_ERROR; return -1; }