]> 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:54:27 +0000 (20:54 +0000)
committerDavid M. Lee <dlee@digium.com>
Fri, 13 Sep 2013 20:54:27 +0000 (20:54 +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
........

Merged revisions 399099 from http://svn.asterisk.org/svn/asterisk/branches/11

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

main/astobj2.c

index 5cb3ee3d5f24455f215b990a7281b4d705245367..cc1e2576b9c7f007dcc791bbcf8e94bb8b6b515a 100644 (file)
@@ -3190,7 +3190,8 @@ struct ao2_container *__ao2_container_alloc_hash_debug(unsigned int ao2_options,
        num_buckets = hash_fn ? n_buckets : 1;
        container_size = sizeof(struct ao2_container_hash) + num_buckets * sizeof(struct hash_bucket);
 
-       self = __ao2_alloc_debug(container_size, container_destruct_debug, ao2_options,
+       self = __ao2_alloc_debug(container_size,
+               ref_debug ? container_destruct_debug : container_destruct, ao2_options,
                tag, file, line, func, ref_debug);
        return hash_ao2_container_init(self, container_options, num_buckets, hash_fn,
                sort_fn, cmp_fn);
@@ -5337,7 +5338,8 @@ struct ao2_container *__ao2_container_alloc_rbtree_debug(unsigned int ao2_option
                return NULL;
        }
 
-       self = __ao2_alloc_debug(sizeof(*self), container_destruct_debug, ao2_options,
+       self = __ao2_alloc_debug(sizeof(*self),
+               ref_debug ? container_destruct_debug : container_destruct, ao2_options,
                tag, file, line, func, ref_debug);
        return rb_ao2_container_init(self, container_options, sort_fn, cmp_fn);
 }