From: Kevin P. Fleming Date: Tue, 5 May 2009 13:18:21 +0000 (+0000) Subject: Correct some flaws in the memory accounting code for stringfields and ao2 objects X-Git-Tag: 11.0.0-beta1~4938 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1f49e675bbe1eaada53b678f07ee4ad75e25bbef;p=thirdparty%2Fasterisk.git Correct some flaws in the memory accounting code for stringfields and ao2 objects Under some conditions, the memory allocation for stringfields and ao2 objects would not have supplied valid file/function names for MALLOC_DEBUG tracking, so this commit corrects that. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@192357 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/include/asterisk/stringfields.h b/include/asterisk/stringfields.h index 3d59ea12c8..ca87b60ce5 100644 --- a/include/asterisk/stringfields.h +++ b/include/asterisk/stringfields.h @@ -244,7 +244,7 @@ void __ast_string_field_ptr_build_va(struct ast_string_field_mgr *mgr, /*! \brief free all memory - to be called before destroying the object */ #define ast_string_field_free_memory(x) \ - __ast_string_field_init(&(x)->__field_mgr, &(x)->__field_mgr_pool, -1, NULL, 0, NULL) + __ast_string_field_init(&(x)->__field_mgr, &(x)->__field_mgr_pool, -1, __FILE__, __LINE__, __PRETTY_FUNCTION__) /*! * \internal diff --git a/main/astobj2.c b/main/astobj2.c index 81a3982f1e..78c4cc00fc 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -358,7 +358,7 @@ void *__ao2_alloc_debug(size_t data_size, ao2_destructor_fn destructor_fn, char void *__ao2_alloc(size_t data_size, ao2_destructor_fn destructor_fn) { - return internal_ao2_alloc(data_size, destructor_fn, NULL, 0, NULL); + return internal_ao2_alloc(data_size, destructor_fn, __FILE__, __LINE__, __FUNCTION__); } diff --git a/main/utils.c b/main/utils.c index 6709e02d16..106667c3a0 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1605,7 +1605,7 @@ ast_string_field __ast_string_field_alloc_space(struct ast_string_field_mgr *mgr if (add_string_pool(mgr, pool_head, new_size, mgr->owner_file, mgr->owner_line, mgr->owner_func)) return NULL; #else - if (add_string_pool(mgr, pool_head, new_size, NULL, 0, NULL)) + if (add_string_pool(mgr, pool_head, new_size, __FILE__, __LINE__, __FUNCTION__)) return NULL; #endif }