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

Author: Pantelis Kolatsis <[email protected]>
Committer: Henning Westerholt <[email protected]>
Date: 2023-04-29T19:16:32Z

debugger: convert to memory error logging helper, add missing mem error handling

---

Modified: src/modules/debugger/debugger_api.c
Modified: src/modules/debugger/debugger_mod.c

---

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

---

diff --git a/src/modules/debugger/debugger_api.c 
b/src/modules/debugger/debugger_api.c
index 5a773661845..b9137594bac 100644
--- a/src/modules/debugger/debugger_api.c
+++ b/src/modules/debugger/debugger_api.c
@@ -557,7 +557,10 @@ int dbg_init_bp_list(void)
                return -1;
        _dbg_bp_list = (dbg_bp_t*)shm_malloc(sizeof(dbg_bp_t));
        if(_dbg_bp_list==NULL)
+       {
+               SHM_MEM_ERROR;
                return -1;
+       }
        memset(_dbg_bp_list, 0, sizeof(dbg_bp_t));
        if(_dbg_breakpoint==1)
                _dbg_bp_list->set |= DBG_ABKPOINT_ON;
@@ -580,7 +583,10 @@ int dbg_add_breakpoint(struct action *a, int bpon)
        len += sizeof(dbg_bp_t) + 1;
        nbp = (dbg_bp_t*)shm_malloc(len);
        if(nbp==NULL)
+       {
+               SHM_MEM_ERROR;
                return -1;
+       }
        memset(nbp, 0, len);
        nbp->set |= (bpon)?DBG_ABKPOINT_ON:0;
        nbp->cline = a->cline;
@@ -605,7 +611,10 @@ int dbg_init_pid_list(void)
                return -1;
        _dbg_pid_list = (dbg_pid_t*)shm_malloc(_dbg_pid_no*sizeof(dbg_pid_t));
        if(_dbg_pid_list==NULL)
+       {
+               SHM_MEM_ERROR;
                return -1;
+       }
        memset(_dbg_pid_list, 0, _dbg_pid_no*sizeof(dbg_pid_t));
        return 0;
 }
@@ -1202,7 +1211,7 @@ int dbg_init_mod_levels(int dbg_mod_hash_size)
        _dbg_mod_table = 
(dbg_mod_slot_t*)shm_malloc(_dbg_mod_table_size*sizeof(dbg_mod_slot_t));
        if(_dbg_mod_table==NULL)
        {
-               LM_ERR("no more shm.\n");
+               SHM_MEM_ERROR;
                return -1;
        }
        memset(_dbg_mod_table, 0, _dbg_mod_table_size*sizeof(dbg_mod_slot_t));
@@ -1367,8 +1376,9 @@ int dbg_set_mod_debug_level(char *mname, int mnlen, int 
*mlevel)
                return 0;
        }
        itn = (dbg_mod_level_t*)shm_malloc(sizeof(dbg_mod_level_t) + 
(mnlen+1)*sizeof(char));
-       if(itn==NULL) {
-               LM_ERR("no more shm\n");
+       if(itn==NULL)
+       {
+               SHM_MEM_ERROR;
                return -1;
        }
        memset(itn, 0, sizeof(dbg_mod_level_t) + (mnlen+1)*sizeof(char));
@@ -1444,7 +1454,7 @@ int dbg_set_mod_debug_facility(char *mname, int mnlen, 
int *mfacility)
        }
        itn = (dbg_mod_facility_t*)shm_malloc(sizeof(dbg_mod_facility_t) + 
(mnlen+1)*sizeof(char));
        if(itn==NULL) {
-               LM_ERR("no more shm\n");
+               SHM_MEM_ERROR;
                return -1;
        }
        memset(itn, 0, sizeof(dbg_mod_facility_t) + (mnlen+1)*sizeof(char));
@@ -1594,7 +1604,7 @@ int dbg_init_pvcache()
        _dbg_pvcache = 
(dbg_pvcache_t**)pkg_malloc(sizeof(dbg_pvcache_t*)*DBG_PVCACHE_SIZE);
        if(_dbg_pvcache==NULL)
        {
-               LM_ERR("no more memory.\n");
+               SHM_MEM_ERROR;
                return -1;
        }
        memset(_dbg_pvcache, 0, sizeof(dbg_pvcache_t*)*DBG_PVCACHE_SIZE);
@@ -1616,7 +1626,7 @@ int dbg_assign_add(str *name, pv_spec_t *spec)
        pvn = (dbg_pvcache_t*)pkg_malloc(sizeof(dbg_pvcache_t));
        if(pvn==NULL)
        {
-               LM_ERR("no more memory\n");
+               SHM_MEM_ERROR;
                return -1;
        }
        memset(pvn, 0, sizeof(dbg_pvcache_t));
diff --git a/src/modules/debugger/debugger_mod.c 
b/src/modules/debugger/debugger_mod.c
index 3c35a5b033d..b586bb54da8 100644
--- a/src/modules/debugger/debugger_mod.c
+++ b/src/modules/debugger/debugger_mod.c
@@ -556,7 +556,18 @@ static int w_dbg_sip_msg(struct sip_msg* msg, char *level, 
char *facility)
 
        /* alloc private mem and copy lumps */
        hdr_lumps = pkg_malloc(BUF_SIZE);
+       if(hdr_lumps==NULL)
+       {
+               PKG_MEM_ERROR;
+               return -1;
+       }
        bdy_lumps = pkg_malloc(BUF_SIZE);
+       if(hdr_lumps==NULL)
+       {
+               pkg_free(hdr_lumps);
+               PKG_MEM_ERROR;
+               return -1;
+       }
 
        new_buf_offs = 0;
        process_lumps(msg, msg->add_rm, hdr_lumps, &new_buf_offs, &orig_offs, 
&send_info, flag);

_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to [email protected]

Reply via email to