]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix crash when using the "regexten" option with MALLOC_DEBUG enabled. This was
authorRussell Bryant <russell@russellbryant.com>
Thu, 27 Jul 2006 04:25:41 +0000 (04:25 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 27 Jul 2006 04:25:41 +0000 (04:25 +0000)
not reported in the bug tracker but the same bug has been demonstrated in other
places in the code.

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

channels/chan_iax2.c

index 576ca6351b98854da47bd6388ceaaa229f31cf98..d1e33f408d44d407a212e0c636e69bb2c73b753f 100644 (file)
@@ -663,6 +663,15 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in
 static void destroy_peer(struct iax2_peer *peer);
 static int ast_cli_netstats(int fd, int limit_fmt);
 
+#ifdef __AST_DEBUG_MALLOC
+static void FREE(void *ptr)
+{
+       free(ptr);
+}
+#else
+#define FREE free
+#endif
+
 static void iax_debug_output(const char *data)
 {
        if (iaxdebug)
@@ -5627,7 +5636,7 @@ static void register_peer_exten(struct iax2_peer *peer, int onoff)
                while((ext = strsep(&stringp, "&"))) {
                        if (onoff) {
                                if (!ast_exists_extension(NULL, regcontext, ext, 1, NULL))
-                                       ast_add_extension(regcontext, 1, ext, 1, NULL, NULL, "Noop", strdup(peer->name), free, channeltype);
+                                       ast_add_extension(regcontext, 1, ext, 1, NULL, NULL, "Noop", strdup(peer->name), FREE, channeltype);
                        } else
                                ast_context_remove_extension(regcontext, ext, 1, NULL);
                }