mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-12 21:09:00 +00:00
Fix malloc debug macros to work properly with h323.
The main problem here was that cstdlib was undefining free thereby causing the proper debug macros to not be used. ast_h323.cxx has been changed to call ast_free instead to avoid the issue. A few other issues were addressed: - There were a few instances of functions improperly passing ast_free instead of ast_free_ptr. - Some clean up was done to avoid the debug macros intentionally being redefined. (copied below from Kevin's commit, appreciate the help) - disable astmm.h from doing anything when STANDALONE is defined, which is used by the tools in the utils/ directory that use parts of Asterisk header files in hackish ways; also ensure that utils/extconf.c and utils/conf2ael.c are compiled with STANDALONE defined. (closes issue #13593) Reported by: pj git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -398,7 +398,6 @@ char *ast_process_quotes_and_slashes(char *start, char find, char replace_with);
|
||||
|
||||
long int ast_random(void);
|
||||
|
||||
#define ast_free free
|
||||
|
||||
/*!
|
||||
* \brief free() wrapper
|
||||
@@ -413,6 +412,7 @@ static void ast_free_ptr(void *ptr)
|
||||
ast_free(ptr);
|
||||
}
|
||||
#else
|
||||
#define ast_free free
|
||||
#define ast_free_ptr ast_free
|
||||
#endif
|
||||
|
||||
@@ -598,19 +598,6 @@ int _ast_vasprintf(char **ret, const char *file, int lineno, const char *func, c
|
||||
}
|
||||
)
|
||||
|
||||
#else
|
||||
|
||||
/* If astmm is in use, let it handle these. Otherwise, it will report that
|
||||
all allocations are coming from this header file */
|
||||
|
||||
#define ast_malloc(a) malloc(a)
|
||||
#define ast_calloc(a,b) calloc(a,b)
|
||||
#define ast_realloc(a,b) realloc(a,b)
|
||||
#define ast_strdup(a) strdup(a)
|
||||
#define ast_strndup(a,b) strndup(a,b)
|
||||
#define ast_asprintf(a,b,...) asprintf(a,b,__VA_ARGS__)
|
||||
#define ast_vasprintf(a,b,c) vasprintf(a,b,c)
|
||||
|
||||
#endif /* AST_DEBUG_MALLOC */
|
||||
|
||||
#if !defined(ast_strdupa) && defined(__GNUC__)
|
||||
|
||||
Reference in New Issue
Block a user