Merged revisions 101480 via svnmerge from
authorSteve Murphy <murf@digium.com>
Thu, 31 Jan 2008 19:43:40 +0000 (19:43 +0000)
committerSteve Murphy <murf@digium.com>
Thu, 31 Jan 2008 19:43:40 +0000 (19:43 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101480 | murf | 2008-01-31 12:30:37 -0700 (Thu, 31 Jan 2008) | 1 line

closes issue #11845; that's the one where there's a 1004 byte cdr leak with every AMI Redirect to a zap channel
........

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

main/pbx.c

index 0cefc20..3ef14ef 100644 (file)
@@ -5879,7 +5879,8 @@ int ast_async_goto(struct ast_channel *chan, const char *context, const char *ex
                   at the new location */
                struct ast_channel *tmpchan = ast_channel_alloc(0, chan->_state, 0, 0, chan->accountcode, chan->exten, chan->context, chan->amaflags, "AsyncGoto/%s", chan->name);
                if (chan->cdr) {
                   at the new location */
                struct ast_channel *tmpchan = ast_channel_alloc(0, chan->_state, 0, 0, chan->accountcode, chan->exten, chan->context, chan->amaflags, "AsyncGoto/%s", chan->name);
                if (chan->cdr) {
-                       tmpchan->cdr = ast_cdr_dup(chan->cdr);
+                       ast_cdr_discard(tmpchan->cdr);
+                       tmpchan->cdr = ast_cdr_dup(chan->cdr);  /* share the love */
                }
                if (!tmpchan)
                        res = -1;
                }
                if (!tmpchan)
                        res = -1;