mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
core: Backport compatible MALLOC_DEBUG changes.
* Add support for MALLOC_DEBUG and DEBUG_CHAOS to be used together. * Add utils/astmm.c to .gitignore. * Fix MALLOC_DEBUG variant of __ast_vasprintf. This function called va_end(ap) upon allocation failure. This is incorrect since ap is passed as an argument. Change-Id: I9f27ced4ce3cbe4b39547a67f994fdff491978c0
This commit is contained in:
@@ -227,6 +227,8 @@ static void *__ast_alloc_region(size_t size, const enum func_type which, const c
|
||||
unsigned int *fence;
|
||||
int hash;
|
||||
|
||||
DEBUG_CHAOS_RETURN(DEBUG_CHAOS_ALLOC_CHANCE, NULL);
|
||||
|
||||
if (!(reg = malloc(size + sizeof(*reg) + sizeof(*fence)))) {
|
||||
astmm_log("Memory Allocation Failure - '%d' bytes at %s %s() line %d\n",
|
||||
(int) size, file, func, lineno);
|
||||
@@ -664,7 +666,6 @@ int __ast_vasprintf(char **strp, const char *fmt, va_list ap, const char *file,
|
||||
size = vsnprintf(&s, 1, fmt, ap2);
|
||||
va_end(ap2);
|
||||
if (!(*strp = __ast_alloc_region(size + 1, FUNC_VASPRINTF, file, lineno, func, 0))) {
|
||||
va_end(ap);
|
||||
return -1;
|
||||
}
|
||||
vsnprintf(*strp, size + 1, fmt, ap);
|
||||
|
Reference in New Issue
Block a user