mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-19 16:20:37 +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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user