]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't write to /tmp/refs when REF_DEBUG is not defined.
authorDavid M. Lee <dlee@digium.com>
Fri, 13 Sep 2013 20:49:33 +0000 (20:49 +0000)
committerDavid M. Lee <dlee@digium.com>
Fri, 13 Sep 2013 20:49:33 +0000 (20:49 +0000)
If MALLOC_DEBUG is enabled, then the debug destructor for the container
is used, which would erroneously write to /tmp/refs. This patch only
uses the debug destructor if ref_debug is used.

(closes issue ASTERISK-22536)
........

Merged revisions 399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@399099 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/astobj2.c

index 761027679b83876b39f406e26efde621f2ad92f5..a9e0d7a36111b53e909a613a7062bd4df30d527c 100644 (file)
@@ -842,7 +842,7 @@ struct ao2_container *__ao2_container_alloc_debug(unsigned int options,
        /* compute the container size */
        unsigned int num_buckets = hash_fn ? n_buckets : 1;
        size_t container_size = sizeof(struct ao2_container) + num_buckets * sizeof(struct bucket);
-       struct ao2_container *c = __ao2_alloc_debug(container_size, container_destruct_debug, options, tag, file, line, func, ref_debug);
+       struct ao2_container *c = __ao2_alloc_debug(container_size, ref_debug ? container_destruct_debug : container_destruct, options, tag, file, line, func, ref_debug);
 
        return internal_ao2_container_alloc(c, num_buckets, hash_fn, cmp_fn);
 }