diff options
author | Walter Doekes <walter+asterisk@wjd.nu> | 2014-09-26 14:41:38 +0000 |
---|---|---|
committer | Walter Doekes <walter+asterisk@wjd.nu> | 2014-09-26 14:41:38 +0000 |
commit | 37179a2b1f0a12e063a2bb300e402ac5e7512569 (patch) | |
tree | 74872dbb405e8ef55370be0afe6bae8947a616da /addons | |
parent | b8c1130ed172e478d7eaccbf9ba2913aaf36b260 (diff) |
core: Don't allow free to mean ast_free (and malloc, etc..).
This gets rid of most old libc free/malloc/realloc and replaces them
with ast_free and friends. When compiling with MALLOC_DEBUG you'll
notice it when you're mistakenly using one of the libc variants. For
the legacy cases you can define WRAP_LIBC_MALLOC before including
asterisk.h.
Even better would be if the errors were also enabled when compiling
without MALLOC_DEBUG, but that's a slightly more invasive header
file change.
Those compiling addons/format_mp3 will need to rerun
./contrib/scripts/get_mp3_source.sh.
ASTERISK-24348 #related
Review: https://reviewboard.asterisk.org/r/4015/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@423978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons')
-rw-r--r-- | addons/app_mysql.c | 4 | ||||
-rw-r--r-- | addons/chan_ooh323.c | 110 | ||||
-rw-r--r-- | addons/ooh323c/src/context.c | 5 | ||||
-rw-r--r-- | addons/ooh323c/src/errmgmt.c | 5 | ||||
-rw-r--r-- | addons/ooh323c/src/memheap.c | 34 | ||||
-rw-r--r-- | addons/ooh323c/src/ooCalls.c | 5 | ||||
-rw-r--r-- | addons/ooh323c/src/ooCmdChannel.c | 18 | ||||
-rw-r--r-- | addons/ooh323c/src/ooStackCmds.c | 148 | ||||
-rw-r--r-- | addons/ooh323c/src/oochannels.c | 2 | ||||
-rw-r--r-- | addons/ooh323c/src/printHandler.c | 9 | ||||
-rw-r--r-- | addons/ooh323cDriver.c | 6 |
11 files changed, 175 insertions, 171 deletions
diff --git a/addons/app_mysql.c b/addons/app_mysql.c index 298ed9d65..6901daf05 100644 --- a/addons/app_mysql.c +++ b/addons/app_mysql.c @@ -218,7 +218,7 @@ static int add_identifier(struct ast_channel *chan, int identifier_type, void *d ast_log(LOG_WARNING, "Unable to lock identifiers list\n"); return -1; } else { - i = malloc(sizeof(*i)); + i = ast_malloc(sizeof(*i)); AST_LIST_TRAVERSE(headp, j, entries) { if (j->identifier > maxidentifier) { maxidentifier = j->identifier; @@ -247,7 +247,7 @@ static int del_identifier(int identifier, int identifier_type) if ((i->identifier == identifier) && (i->identifier_type == identifier_type)) { AST_LIST_REMOVE(headp, i, entries); - free(i); + ast_free(i); found = 1; break; } diff --git a/addons/chan_ooh323.c b/addons/chan_ooh323.c index b0fa01ff3..8fd02cc47 100644 --- a/addons/chan_ooh323.c +++ b/addons/chan_ooh323.c @@ -538,7 +538,7 @@ static struct ooh323_pvt *ooh323_alloc(int callref, char *callToken) pvt->call_reference = callref; if (callToken) - pvt->callToken = strdup(callToken); + pvt->callToken = ast_strdup(callToken); /* whether to use gk for this call */ if (gRasGkMode == RasNoGatekeeper) @@ -645,8 +645,8 @@ static struct ast_channel *ooh323_request(const char *type, struct ast_format_ca } if (peer) { - p->username = strdup(peer->name); - p->host = strdup(peer->ip); + p->username = ast_strdup(peer->name); + p->host = ast_strdup(peer->ip); p->port = peer->port; /* Disable gk as we are going to call a known peer*/ /* OO_SETFLAG(p->flags, H323_DISABLEGK); */ @@ -707,9 +707,9 @@ static struct ast_channel *ooh323_request(const char *type, struct ast_format_ca p->directrtp = gDirectRTP; p->earlydirect = gEarlyDirect; - p->username = strdup(dest); + p->username = ast_strdup(dest); - p->host = strdup(dest); + p->host = ast_strdup(dest); if (port > 0) { p->port = port; } @@ -964,22 +964,22 @@ static int ooh323_call(struct ast_channel *ast, const char *dest, int timeout) ast_mutex_lock(&p->lock); ast_set_flag(p, H323_OUTGOING); if (ast_channel_connected(ast)->id.number.valid && ast_channel_connected(ast)->id.number.str) { - free(p->callerid_num); - p->callerid_num = strdup(ast_channel_connected(ast)->id.number.str); + ast_free(p->callerid_num); + p->callerid_num = ast_strdup(ast_channel_connected(ast)->id.number.str); } if (ast_channel_connected(ast)->id.name.valid && ast_channel_connected(ast)->id.name.str) { - free(p->callerid_name); - p->callerid_name = strdup(ast_channel_connected(ast)->id.name.str); + ast_free(p->callerid_name); + p->callerid_name = ast_strdup(ast_channel_connected(ast)->id.name.str); } else if (ast_channel_connected(ast)->id.number.valid && ast_channel_connected(ast)->id.number.str) { - free(p->callerid_name); - p->callerid_name = strdup(ast_channel_connected(ast)->id.number.str); + ast_free(p->callerid_name); + p->callerid_name = ast_strdup(ast_channel_connected(ast)->id.number.str); } else { ast_channel_connected(ast)->id.name.valid = 1; - free(ast_channel_connected(ast)->id.name.str); - ast_channel_connected(ast)->id.name.str = strdup(gCallerID); - free(p->callerid_name); - p->callerid_name = strdup(ast_channel_connected(ast)->id.name.str); + ast_free(ast_channel_connected(ast)->id.name.str); + ast_channel_connected(ast)->id.name.str = ast_strdup(gCallerID); + ast_free(p->callerid_name); + p->callerid_name = ast_strdup(ast_channel_connected(ast)->id.name.str); } /* Retrieve vars */ @@ -992,7 +992,7 @@ static int ooh323_call(struct ast_channel *ast, const char *dest, int timeout) if ((val = pbx_builtin_getvar_helper(ast, "CALLER_H323DIALEDDIGITS"))) { ast_copy_string(p->caller_dialedDigits, val, sizeof(p->caller_dialedDigits)); if(!p->callerid_num) - p->callerid_num = strdup(val); + p->callerid_num = ast_strdup(val); } if ((val = pbx_builtin_getvar_helper(ast, "CALLER_H323EMAIL"))) { @@ -1113,7 +1113,7 @@ static int ooh323_answer(struct ast_channel *ast) if (p) { ast_mutex_lock(&p->lock); - callToken = (p->callToken ? strdup(p->callToken) : NULL); + callToken = (p->callToken ? ast_strdup(p->callToken) : NULL); if (ast_channel_state(ast) != AST_STATE_UP) { ast_channel_lock(ast); if (!p->alertsent) { @@ -1132,7 +1132,7 @@ static int ooh323_answer(struct ast_channel *ast) ooAnswerCall(p->callToken); } if (callToken) { - free(callToken); + ast_free(callToken); } ast_mutex_unlock(&p->lock); } @@ -1239,7 +1239,7 @@ static int ooh323_indicate(struct ast_channel *ast, int condition, const void *d if (!p) return -1; ast_mutex_lock(&p->lock); - callToken = (p->callToken ? strdup(p->callToken) : NULL); + callToken = (p->callToken ? ast_strdup(p->callToken) : NULL); ast_mutex_unlock(&p->lock); if (!callToken) { @@ -1409,7 +1409,7 @@ static int ooh323_indicate(struct ast_channel *ast, int condition, const void *d ast_verb(0, "++++ ooh323_indicate %d on %s is %d\n", condition, callToken, res); } - free(callToken); + ast_free(callToken); return res; } @@ -1815,25 +1815,25 @@ int ooh323_onReceivedSetup(ooCallData *call, Q931Message *pmsg) if (call->remoteDisplayName) { - p->callerid_name = strdup(call->remoteDisplayName); + p->callerid_name = ast_strdup(call->remoteDisplayName); } if (ooCallGetCallingPartyNumber(call, number, OO_MAX_NUMBER_LENGTH) == OO_OK) { - p->callerid_num = strdup(number); + p->callerid_num = ast_strdup(number); } if (call->remoteAliases) { for (alias = call->remoteAliases; alias; alias = alias->next) { if (alias->type == T_H225AliasAddress_h323_ID) { if (!p->callerid_name) { - p->callerid_name = strdup(alias->value); + p->callerid_name = ast_strdup(alias->value); } ast_copy_string(p->caller_h323id, alias->value, sizeof(p->caller_h323id)); } else if(alias->type == T_H225AliasAddress_dialedDigits) { if(!p->callerid_num) - p->callerid_num = strdup(alias->value); + p->callerid_num = ast_strdup(alias->value); ast_copy_string(p->caller_dialedDigits, alias->value, sizeof(p->caller_dialedDigits)); } @@ -1874,7 +1874,7 @@ int ooh323_onReceivedSetup(ooCallData *call, Q931Message *pmsg) user = find_user(p->callerid_name, call->remoteIP); if(user && (user->incominglimit == 0 || user->inUse < user->incominglimit)) { ast_mutex_lock(&user->lock); - p->username = strdup(user->name); + p->username = ast_strdup(user->name); p->neighbor.user = user->mUseIP ? ast_strdup(user->mIP) : ast_strdup(user->name); ast_copy_string(p->context, user->context, sizeof(p->context)); @@ -1920,7 +1920,7 @@ int ooh323_onReceivedSetup(ooCallData *call, Q931Message *pmsg) ast_mutex_unlock(&user->lock); } else { if (!OO_TESTFLAG(p->flags,H323_DISABLEGK)) { - p->username = strdup(call->remoteIP); + p->username = ast_strdup(call->remoteIP); p->directrtp = gDirectRTP; p->earlydirect = gEarlyDirect; } else { @@ -2273,7 +2273,7 @@ int onCallCleared(ooCallData *call) } ast_mutex_unlock(&userl.lock); - free(user); + ast_free(user); } if (gH323Debug) @@ -2305,13 +2305,13 @@ void ooh323_delete_peer(struct ooh323_peer *peer) } ast_mutex_unlock(&peerl.lock); - if(peer->h323id) free(peer->h323id); - if(peer->email) free(peer->email); - if(peer->url) free(peer->url); - if(peer->e164) free(peer->e164); + ast_free(peer->h323id); + ast_free(peer->email); + ast_free(peer->url); + ast_free(peer->e164); - ao2_cleanup(peer->cap); - free(peer); + ao2_cleanup(peer->cap); + ast_free(peer); } if (gH323Debug) @@ -2797,8 +2797,8 @@ int reload_config(int reload) while (cur) { prev = cur; cur = cur->next; - free(prev->value); - free(prev); + ast_free(prev->value); + ast_free(prev); } gAliasList = NULL; ooH323EpClearAllAliases(); @@ -2913,7 +2913,7 @@ int reload_config(int reload) ast_copy_string(gCallerID, v->value, sizeof(gCallerID)); } pNewAlias->type = T_H225AliasAddress_h323_ID; - pNewAlias->value = strdup(v->value); + pNewAlias->value = ast_strdup(v->value); pNewAlias->next = gAliasList; gAliasList = pNewAlias; pNewAlias = NULL; @@ -2934,7 +2934,7 @@ int reload_config(int reload) return 1; } pNewAlias->type = T_H225AliasAddress_dialedDigits; - pNewAlias->value = strdup(v->value); + pNewAlias->value = ast_strdup(v->value); pNewAlias->next = gAliasList; gAliasList = pNewAlias; pNewAlias = NULL; @@ -2949,7 +2949,7 @@ int reload_config(int reload) return 1; } pNewAlias->type = T_H225AliasAddress_email_ID; - pNewAlias->value = strdup(v->value); + pNewAlias->value = ast_strdup(v->value); pNewAlias->next = gAliasList; gAliasList = pNewAlias; pNewAlias = NULL; @@ -4094,22 +4094,22 @@ int ooh323_destroy(struct ooh323_pvt *p) } if (cur->username) { - free(cur->username); + ast_free(cur->username); cur->username = 0; } if (cur->host) { - free(cur->host); + ast_free(cur->host); cur->host = 0; } if (cur->callerid_name) { - free(cur->callerid_name); + ast_free(cur->callerid_name); cur->callerid_name = 0; } if (cur->callerid_num) { - free(cur->callerid_num); + ast_free(cur->callerid_num); cur->callerid_num = 0; } @@ -4151,7 +4151,7 @@ int ooh323_destroy(struct ooh323_pvt *p) user->inUse--; ast_mutex_unlock(&user->lock); } - free(cur->neighbor.user); + ast_free(cur->neighbor.user); } } else { /* outgoing limit decrement here !!! */ @@ -4181,10 +4181,10 @@ int delete_peers() cur = cur->next; ast_mutex_destroy(&prev->lock); - if(prev->h323id) free(prev->h323id); - if(prev->email) free(prev->email); - if(prev->url) free(prev->url); - if(prev->e164) free(prev->e164); + ast_free(prev->h323id); + ast_free(prev->email); + ast_free(prev->url); + ast_free(prev->e164); if(prev->rtpmask) { ast_mutex_lock(&prev->rtpmask->lock); prev->rtpmask->inuse--; @@ -4192,10 +4192,10 @@ int delete_peers() if (prev->rtpmask->inuse == 0) { regfree(&prev->rtpmask->regex); ast_mutex_destroy(&prev->rtpmask->lock); - free(prev->rtpmask); + ast_free(prev->rtpmask); } } - free(prev); + ast_free(prev); if (cur == peerl.peers) { break; @@ -4223,11 +4223,11 @@ int delete_users() if (prev->rtpmask->inuse == 0) { regfree(&prev->rtpmask->regex); ast_mutex_destroy(&prev->rtpmask->lock); - free(prev->rtpmask); + ast_free(prev->rtpmask); } } ao2_cleanup(prev->cap); - free(prev); + ast_free(prev); if (cur == userl.users) { break; } @@ -4339,8 +4339,8 @@ static int unload_module(void) while (cur) { prev = cur; cur = cur->next; - free(prev->value); - free(prev); + ast_free(prev->value); + ast_free(prev); } gAliasList = NULL; @@ -4504,7 +4504,7 @@ static int ooh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance memset(&p->redirip, 0, sizeof(p->redirip)); } - callToken = (p->callToken ? strdup(p->callToken) : NULL); + callToken = (p->callToken ? ast_strdup(p->callToken) : NULL); if (!callToken) { if (gH323Debug) { @@ -4532,7 +4532,7 @@ static int ooh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance } ast_mutex_unlock(&p->lock); - free(callToken); + ast_free(callToken); return 0; } diff --git a/addons/ooh323c/src/context.c b/addons/ooh323c/src/context.c index 46f1fc8c0..fe6c180ac 100644 --- a/addons/ooh323c/src/context.c +++ b/addons/ooh323c/src/context.c @@ -15,6 +15,7 @@ *****************************************************************************/ #include "asterisk.h" #include "asterisk/lock.h" +#include "asterisk/utils.h" #include "ooasn1.h" #include <stdlib.h> @@ -157,11 +158,11 @@ int setPERBuffer (OOCTXT* pctxt, OOCTXT* newContext () { /* OOCTXT* pctxt = (OOCTXT*) ASN1CRTMALLOC0 (sizeof(OOCTXT)); */ - OOCTXT* pctxt = (OOCTXT*) malloc (sizeof(OOCTXT)); + OOCTXT* pctxt = ast_malloc(sizeof(OOCTXT)); if (pctxt) { if (initContext(pctxt) != ASN_OK) { /* ASN1CRTFREE0 (pctxt); */ - free(pctxt); + ast_free(pctxt); pctxt = 0; } pctxt->flags |= ASN1DYNCTXT; diff --git a/addons/ooh323c/src/errmgmt.c b/addons/ooh323c/src/errmgmt.c index de660c5fd..6aef0f480 100644 --- a/addons/ooh323c/src/errmgmt.c +++ b/addons/ooh323c/src/errmgmt.c @@ -18,6 +18,7 @@ #include "asterisk.h" #include "asterisk/lock.h" +#include "asterisk/utils.h" #include <stdlib.h> #include "ooasn1.h" @@ -89,7 +90,7 @@ int errAddStrParm (ASN1ErrInfo* pErrInfo, const char* errprm_p) #if defined(_NO_THREADS) || !defined(_NO_MALLOC) if (pErrInfo->parmcnt < ASN_K_MAXERRP) { /* char* tmpstr = (char*) ASN1CRTMALLOC0 (strlen(errprm_p)+1); */ - char* tmpstr = (char*) malloc (strlen(errprm_p)+1); + char* tmpstr = ast_malloc(strlen(errprm_p) + 1); strcpy (tmpstr, errprm_p); pErrInfo->parms[pErrInfo->parmcnt] = tmpstr; pErrInfo->parmcnt++; @@ -118,7 +119,7 @@ void errFreeParms (ASN1ErrInfo* pErrInfo) for (i = 0; i < pErrInfo->parmcnt; i++) /* ASN1CRTFREE0 ((char*)pErrInfo->parms[i]); */ - free ((char*)pErrInfo->parms[i]); + ast_free((char*)pErrInfo->parms[i]); #endif pErrInfo->parmcnt = 0; diff --git a/addons/ooh323c/src/memheap.c b/addons/ooh323c/src/memheap.c index c7aed04e5..99a530848 100644 --- a/addons/ooh323c/src/memheap.c +++ b/addons/ooh323c/src/memheap.c @@ -15,6 +15,7 @@ *****************************************************************************/ #include "asterisk.h" #include "asterisk/lock.h" +#include "asterisk/utils.h" #include <stdlib.h> #include "memheap.h" @@ -176,13 +177,13 @@ void* memHeapAlloc (void** ppvMemHeap, int nbytes) /* allocate raw block */ - data = malloc (nbytes); + data = ast_malloc(nbytes); if (data == NULL) { return NULL; } pMemLink = memHeapAddBlock (ppMemLink, data, RTMEMMALLOC | RTMEMRAW); if (pMemLink == 0) { - free (data); + ast_free(data); return NULL; } /* save size of the RAW memory block behind the pMemLink */ @@ -333,7 +334,7 @@ void* memHeapAlloc (void** ppvMemHeap, int nbytes) ((((ASN1UINT)dataUnits) * 8u) + sizeof (OSMemBlk)); } - pmem = (ASN1OCTET*) malloc (allocSize + sizeof (OSMemLink)); + pmem = (ASN1OCTET*) ast_malloc(allocSize + sizeof (OSMemLink)); if (0 != pmem) { OSMemElemDescr* pElem; @@ -357,7 +358,7 @@ void* memHeapAlloc (void** ppvMemHeap, int nbytes) if (memHeapAddBlock (ppMemLink, pMemBlk, RTMEMSTD | RTMEMLINK) == 0) { - free (pmem); + ast_free(pmem); ast_mutex_unlock(&pMemHeap->pLock); return NULL; } @@ -437,12 +438,12 @@ void memHeapFreePtr (void** ppvMemHeap, void* mem_p) if ((pMemLink->blockType & RTMEMLINK) && (pMemLink->blockType & RTMEMMALLOC)) { - free (pMemLink); + ast_free(pMemLink); } else { if (pMemLink->blockType & RTMEMMALLOC) - free (pMemLink->pMemBlk); - free (pMemLink); + ast_free(pMemLink->pMemBlk); + ast_free(pMemLink); } ast_mutex_unlock(&pMemHeap->pLock); return; @@ -553,11 +554,11 @@ void memHeapFreePtr (void** ppvMemHeap, void* mem_p) FILLFREEMEM (pMemBlk->plink, sizeof (*pMemBlk->plink)); FILLFREEMEM (pMemBlk->data, (pMemBlk->nunits * 8u)); - free (pMemBlk->plink); + ast_free(pMemBlk->plink); if (!(blockType & RTMEMLINK)) { FILLFREEMEM (pMemBlk, sizeof (*pMemBlk)); - free (pMemBlk); + ast_free(pMemBlk); } RTMEMDIAG2 ("memHeapFreePtr: pMemBlk = 0x%x was freed\n", pMemBlk); @@ -748,7 +749,7 @@ void* memHeapRealloc (void** ppvMemHeap, void* mem_p, int nbytes_) pMemLink->pMemBlk == mem_p) { if (pMemLink->blockType & RTMEMMALLOC) { - void *newMemBlk = realloc (pMemLink->pMemBlk, nbytes_); + void *newMemBlk = ast_realloc(pMemLink->pMemBlk, nbytes_); if (newMemBlk == 0) return 0; pMemLink->pMemBlk = newMemBlk; @@ -1038,8 +1039,8 @@ void memHeapFreeAll (void** ppvMemHeap) if (((pMemLink2->blockType & RTMEMSTD) || (pMemLink2->blockType & RTMEMMALLOC)) && !(pMemLink2->blockType & RTMEMLINK)) - free (pMemLink2->pMemBlk); - free (pMemLink2); + ast_free(pMemLink2->pMemBlk); + ast_free(pMemLink2); } } ast_mutex_unlock(&pMemHeap->pLock); @@ -1075,12 +1076,12 @@ void memHeapRelease (void** ppvMemHeap) pMemLink2 = pMemLink; pMemLink = pMemLink2->pnext; - free (pMemLink2); + ast_free(pMemLink2); } if ((*ppMemHeap)->flags & RT_MH_FREEHEAPDESC) { ast_mutex_destroy(&pMemHeap->pLock); - free (*ppMemHeap); + ast_free(*ppMemHeap); } *ppMemHeap = 0; } @@ -1215,8 +1216,7 @@ static OSMemLink* memHeapAddBlock (OSMemLink** ppMemLink, if (blockType & RTMEMLINK) pMemLink = (OSMemLink*) (((ASN1OCTET*)pMemBlk) - sizeof (OSMemLink)); else { - pMemLink = (OSMemLink*) malloc ( - sizeof(OSMemLink) + sizeof (int)); + pMemLink = ast_malloc(sizeof(OSMemLink) + sizeof(int)); if (pMemLink == 0) return 0; /* An extra integer is necessary to save a size of a RAW memory block to perform rtMemRealloc through malloc/memcpy/free */ @@ -1339,7 +1339,7 @@ int memHeapCreate (void** ppvMemHeap) OSMemHeap* pMemHeap; if (ppvMemHeap == 0) return ASN_E_INVPARAM; - pMemHeap = (OSMemHeap*) malloc (sizeof (OSMemHeap)); + pMemHeap = ast_malloc(sizeof (OSMemHeap)); if (pMemHeap == NULL) return ASN_E_NOMEM; memset (pMemHeap, 0, sizeof (OSMemHeap)); pMemHeap->defBlkSize = g_defBlkSize; diff --git a/addons/ooh323c/src/ooCalls.c b/addons/ooh323c/src/ooCalls.c index 70677ab0a..2eefb4648 100644 --- a/addons/ooh323c/src/ooCalls.c +++ b/addons/ooh323c/src/ooCalls.c @@ -16,6 +16,7 @@ #include "asterisk.h" #include "asterisk/lock.h" +#include "asterisk/utils.h" #include "ootrace.h" #include "ootypes.h" @@ -366,13 +367,13 @@ int ooCleanCall(OOH323CallData *call) if ((call->rtpMask->inuse) == 0) { regfree(&call->rtpMask->regex); ast_mutex_destroy(&call->rtpMask->lock); - free(call->rtpMask); + ast_free(call->rtpMask); } } if ((pctxt = call->msgctxt) != NULL) { freeContext(pctxt); - free(pctxt); + ast_free(pctxt); call->msgctxt = NULL; } /* May !!!! Fix it !! */ diff --git a/addons/ooh323c/src/ooCmdChannel.c b/addons/ooh323c/src/ooCmdChannel.c index 50a75c2cf..353818d1d 100644 --- a/addons/ooh323c/src/ooCmdChannel.c +++ b/addons/ooh323c/src/ooCmdChannel.c @@ -57,13 +57,13 @@ int ooCreateCallCmdConnection(OOH323CallData* call) OOTRACEINFO2("INFO: create cmd connect for call: %lx\n", call); - call->CmdChanLock = calloc(1, sizeof(ast_mutex_t)); + call->CmdChanLock = ast_calloc(1, sizeof(ast_mutex_t)); ast_mutex_init(call->CmdChanLock); if ((ret = socketpair(PF_LOCAL, SOCK_STREAM, 0, thePipe)) == -1) { ast_mutex_destroy(call->CmdChanLock); - free(call->CmdChanLock); + ast_free(call->CmdChanLock); call->CmdChanLock = NULL; return OO_FAILED; } @@ -94,7 +94,7 @@ int ooCloseCallCmdConnection(OOH323CallData* call) call->CmdChan = 0; ast_mutex_unlock(call->CmdChanLock); ast_mutex_destroy(call->CmdChanLock); - free(call->CmdChanLock); + ast_free(call->CmdChanLock); call->CmdChanLock = NULL; return OO_OK; @@ -267,9 +267,9 @@ int ooReadAndProcessStackCommand() default: OOTRACEERR1("ERROR:Unknown command\n"); } } - if(cmd.param1) free(cmd.param1); - if(cmd.param2) free(cmd.param2); - if(cmd.param3) free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + ast_free(cmd.param3); } @@ -302,7 +302,7 @@ int ooReadAndProcessCallStackCommand(OOH323CallData* call) bPoint += sizeof(OOStackCommand); if (cmd.plen1 > 0) { - cmd.param1 = malloc(cmd.plen1 + 1); + cmd.param1 = ast_malloc(cmd.plen1 + 1); if (!cmd.param1) return OO_FAILED; memset(cmd.param1, 0, cmd.plen1 + 1); @@ -311,7 +311,7 @@ int ooReadAndProcessCallStackCommand(OOH323CallData* call) } if (cmd.plen2 > 0) { - cmd.param2 = malloc(cmd.plen2 + 1); + cmd.param2 = ast_malloc(cmd.plen2 + 1); if (!cmd.param2) return OO_FAILED; memset(cmd.param2, 0, cmd.plen2 + 1); @@ -320,7 +320,7 @@ int ooReadAndProcessCallStackCommand(OOH323CallData* call) } if (cmd.plen3 > 0) { - cmd.param3 = malloc(cmd.plen3 + 1); + cmd.param3 = ast_malloc(cmd.plen3 + 1); if (!cmd.param3) return OO_FAILED; memset(cmd.param3, 0, cmd.plen3 + 1); diff --git a/addons/ooh323c/src/ooStackCmds.c b/addons/ooh323c/src/ooStackCmds.c index f2c26a525..771b3c6af 100644 --- a/addons/ooh323c/src/ooStackCmds.c +++ b/addons/ooh323c/src/ooStackCmds.c @@ -79,7 +79,7 @@ OOStkCmdStat ooMakeCall memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_MAKECALL; - cmd.param1 = (void*) malloc(strlen(dest)+1); + cmd.param1 = ast_malloc(strlen(dest)+1); if(!cmd.param1) { return OO_STKCMD_MEMERR; @@ -87,10 +87,10 @@ OOStkCmdStat ooMakeCall strcpy((char*)cmd.param1, dest); - cmd.param2 = (void*) malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(strlen(callToken)+1); if(!cmd.param2) { - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_MEMERR; } @@ -101,11 +101,11 @@ OOStkCmdStat ooMakeCall cmd.param3 = 0; } else { - cmd.param3 = (void*) malloc(sizeof(ooCallOptions)); + cmd.param3 = ast_malloc(sizeof(ooCallOptions)); if(!cmd.param3) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_MEMERR; } memcpy((void*)cmd.param3, opts, sizeof(ooCallOptions)); @@ -113,9 +113,9 @@ OOStkCmdStat ooMakeCall if(ooWriteStackCommand(&cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); - if(cmd.param3) free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + if(cmd.param3) ast_free(cmd.param3); return OO_STKCMD_WRITEERR; } @@ -149,7 +149,7 @@ OOStkCmdStat ooRunCall memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_MAKECALL; - cmd.param1 = (void*) malloc(strlen(dest)+1); + cmd.param1 = ast_malloc(strlen(dest)+1); if(!cmd.param1) { return OO_STKCMD_MEMERR; @@ -158,10 +158,10 @@ OOStkCmdStat ooRunCall cmd.plen1 = strlen(dest); - cmd.param2 = (void*) malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(strlen(callToken)+1); if(!cmd.param2) { - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_MEMERR; } @@ -173,11 +173,11 @@ OOStkCmdStat ooRunCall cmd.param3 = 0; } else { - cmd.param3 = (void*) malloc(sizeof(ooCallOptions)); + cmd.param3 = ast_malloc(sizeof(ooCallOptions)); if(!cmd.param3) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_MEMERR; } memcpy((void*)cmd.param3, opts, sizeof(ooCallOptions)); @@ -186,16 +186,16 @@ OOStkCmdStat ooRunCall if(ooWriteCallStackCommand(call, &cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); - if(cmd.param3) free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + if(cmd.param3) ast_free(cmd.param3); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); - if(cmd.param3) free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + if(cmd.param3) ast_free(cmd.param3); return OO_STKCMD_SUCCESS; } @@ -223,7 +223,7 @@ OOStkCmdStat ooManualRingback(const char *callToken) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_MANUALRINGBACK; - cmd.param1 = (void*) malloc(strlen(callToken)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); if(!cmd.param1) { return OO_STKCMD_MEMERR; @@ -233,11 +233,11 @@ OOStkCmdStat ooManualRingback(const char *callToken) if(ooWriteCallStackCommand(call,&cmd) != OO_OK) { - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_WRITEERR; } - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_SUCCESS; } @@ -267,7 +267,7 @@ OOStkCmdStat ooManualProgress(const char *callToken) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_MANUALPROGRESS; - cmd.param1 = (void*) malloc(strlen(callToken)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); if(!cmd.param1) { return OO_STKCMD_MEMERR; @@ -277,11 +277,11 @@ OOStkCmdStat ooManualProgress(const char *callToken) if(ooWriteCallStackCommand(call, &cmd) != OO_OK) { - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_WRITEERR; } - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_SUCCESS; } @@ -309,7 +309,7 @@ OOStkCmdStat ooAnswerCall(const char *callToken) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_ANSCALL; - cmd.param1 = (void*) malloc(strlen(callToken)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); if(!cmd.param1) { return OO_STKCMD_MEMERR; @@ -319,11 +319,11 @@ OOStkCmdStat ooAnswerCall(const char *callToken) if(ooWriteCallStackCommand(call, &cmd) != OO_OK) { - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_WRITEERR; } - free(cmd.param1); + ast_free(cmd.param1); return OO_STKCMD_SUCCESS; } @@ -350,12 +350,12 @@ OOStkCmdStat ooForwardCall(const char* callToken, char *dest) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_FWDCALL; - cmd.param1 = (void*) malloc(strlen(callToken)+1); - cmd.param2 = (void*) malloc(strlen(dest)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(strlen(dest)+1); if(!cmd.param1 || !cmd.param2) { - if(cmd.param1) free(cmd.param1); /* Release memory */ - if(cmd.param2) free(cmd.param2); + if(cmd.param1) ast_free(cmd.param1); /* Release memory */ + if(cmd.param2) ast_free(cmd.param2); return OO_STKCMD_MEMERR; } strcpy((char*)cmd.param1, callToken); @@ -365,12 +365,12 @@ OOStkCmdStat ooForwardCall(const char* callToken, char *dest) if(ooWriteCallStackCommand(call, &cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_SUCCESS; } @@ -399,14 +399,14 @@ OOStkCmdStat ooHangCall(const char* callToken, OOCallClearReason reason, int q93 memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_HANGCALL; - cmd.param1 = (void*) malloc(strlen(callToken)+1); - cmd.param2 = (void*) malloc(sizeof(OOCallClearReason)); - cmd.param3 = (void*) malloc(sizeof(int)); + cmd.param1 = ast_malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(sizeof(OOCallClearReason)); + cmd.param3 = ast_malloc(sizeof(int)); if(!cmd.param1 || !cmd.param2 || !cmd.param3) { - if(cmd.param1) free(cmd.param1); /* Release memory */ - if(cmd.param2) free(cmd.param2); - if(cmd.param3) free(cmd.param3); + if(cmd.param1) ast_free(cmd.param1); /* Release memory */ + if(cmd.param2) ast_free(cmd.param2); + if(cmd.param3) ast_free(cmd.param3); return OO_STKCMD_MEMERR; } strcpy((char*)cmd.param1, callToken); @@ -418,14 +418,14 @@ OOStkCmdStat ooHangCall(const char* callToken, OOCallClearReason reason, int q93 if(ooWriteCallStackCommand(call, &cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); - free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + ast_free(cmd.param3); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); - free(cmd.param3); + ast_free(cmd.param1); + ast_free(cmd.param2); + ast_free(cmd.param3); return OO_STKCMD_SUCCESS; } @@ -473,12 +473,12 @@ OOStkCmdStat ooSendDTMFDigit(const char *callToken, const char* dtmf) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_SENDDIGIT; - cmd.param1 = (void*) malloc(strlen(callToken)+1); - cmd.param2 = (void*) malloc(strlen(dtmf)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(strlen(dtmf)+1); if(!cmd.param1 || !cmd.param2) { - if(cmd.param1) free(cmd.param1); /* Release memory */ - if(cmd.param2) free(cmd.param2); + if(cmd.param1) ast_free(cmd.param1); /* Release memory */ + if(cmd.param2) ast_free(cmd.param2); return OO_STKCMD_MEMERR; } strcpy((char*)cmd.param1, callToken); @@ -488,12 +488,12 @@ OOStkCmdStat ooSendDTMFDigit(const char *callToken, const char* dtmf) if(ooWriteCallStackCommand(call,&cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_SUCCESS; } @@ -521,12 +521,12 @@ OOStkCmdStat ooSetANI(const char *callToken, const char* ani) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_SETANI; - cmd.param1 = (void*) malloc(strlen(callToken)+1); - cmd.param2 = (void*) malloc(strlen(ani)+1); + cmd.param1 = ast_malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(strlen(ani)+1); if(!cmd.param1 || !cmd.param2) { - if(cmd.param1) free(cmd.param1); /* Release memory */ - if(cmd.param2) free(cmd.param2); + if(cmd.param1) ast_free(cmd.param1); /* Release memory */ + if(cmd.param2) ast_free(cmd.param2); return OO_STKCMD_MEMERR; } strcpy((char*)cmd.param1, callToken); @@ -536,12 +536,12 @@ OOStkCmdStat ooSetANI(const char *callToken, const char* ani) if(ooWriteCallStackCommand(call,&cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_SUCCESS; } @@ -631,12 +631,12 @@ OOStkCmdStat ooRequestChangeMode(const char *callToken, int isT38Mode) memset(&cmd, 0, sizeof(OOStackCommand)); cmd.type = OO_CMD_REQMODE; - cmd.param1 = (void*) malloc(strlen(callToken)+1); - cmd.param2 = (void*) malloc(sizeof(int)); + cmd.param1 = ast_malloc(strlen(callToken)+1); + cmd.param2 = ast_malloc(sizeof(int)); if(!cmd.param1 || !cmd.param2) { - if(cmd.param1) free(cmd.param1); /* Release memory */ - if(cmd.param2) free(cmd.param2); + ast_free(cmd.param1); /* Release memory */ + ast_free(cmd.param2); return OO_STKCMD_MEMERR; } strcpy((char*)cmd.param1, callToken); @@ -646,12 +646,12 @@ OOStkCmdStat ooRequestChangeMode(const char *callToken, int isT38Mode) if(ooWriteCallStackCommand(call,&cmd) != OO_OK) { - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_WRITEERR; } - free(cmd.param1); - free(cmd.param2); + ast_free(cmd.param1); + ast_free(cmd.param2); return OO_STKCMD_SUCCESS; } diff --git a/addons/ooh323c/src/oochannels.c b/addons/ooh323c/src/oochannels.c index ddc6bf622..76f8422a5 100644 --- a/addons/ooh323c/src/oochannels.c +++ b/addons/ooh323c/src/oochannels.c @@ -961,7 +961,7 @@ int ooMonitorCallChannels(OOH323CallData *call) ast_cond_destroy(&call->gkWait); pctxt = call->pctxt; freeContext(pctxt); - free(pctxt); + ast_free(pctxt); return OO_OK; } diff --git a/addons/ooh323c/src/printHandler.c b/addons/ooh323c/src/printHandler.c index 3986a865d..a2a443c97 100644 --- a/addons/ooh323c/src/printHandler.c +++ b/addons/ooh323c/src/printHandler.c @@ -19,6 +19,7 @@ */ #include "asterisk.h" #include "asterisk/lock.h" +#include "asterisk/utils.h" #include <stdlib.h> /* #ifdef HAVE_MALLOC_H @@ -126,10 +127,10 @@ void printBitStrValue (ASN1UINT numbits, const ASN1OCTET* data) indent (); OOTRACEDBGB2("%s\n", bitStrToString (numbits, data, s, numbits+8)); #else - char* s = (char*)malloc(numbits + 8); + char* s = ast_malloc(numbits + 8); indent (); OOTRACEDBGB2("%s\n", bitStrToString (numbits, data, s, numbits+8)); - free(s); + ast_free(s); #endif } @@ -141,10 +142,10 @@ void printOctStrValue (ASN1UINT numocts, const ASN1OCTET* data) indent (); OOTRACEDBGB2 ("%s\n", octStrToString (numocts, data, s, bufsiz)); #else - char* s = (char*)malloc(bufsiz); + char* s = ast_malloc(bufsiz); indent (); OOTRACEDBGB2 ("%s\n", octStrToString (numocts, data, s, bufsiz)); - free(s); + ast_free(s); #endif } diff --git a/addons/ooh323cDriver.c b/addons/ooh323cDriver.c index bceb07745..3096d1e07 100644 --- a/addons/ooh323cDriver.c +++ b/addons/ooh323cDriver.c @@ -121,7 +121,7 @@ void* ooh323c_call_thread(void* dummy) close(mycthread->thePipe[0]); close(mycthread->thePipe[1]); - free(mycthread); + ast_free(mycthread); ast_module_unref(myself); ast_update_use_count(); return NULL; @@ -155,7 +155,7 @@ int ooh323c_start_call_thread(ooCallData *call) { ast_module_ref(myself); if ((socketpair(PF_LOCAL, SOCK_STREAM, 0, cur->thePipe)) == -1) { ast_log(LOG_ERROR, "Can't create thread pipe for call %s\n", call->callToken); - free(cur); + ast_free(cur); return -1; } cur->inUse = TRUE; @@ -173,7 +173,7 @@ int ooh323c_start_call_thread(ooCallData *call) { ast_mutex_destroy(&cur->lock); close(cur->thePipe[0]); close(cur->thePipe[1]); - free(cur); + ast_free(cur); return -1; } |