mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 15:49:56 +00:00
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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user