autoservice: fix reference leak of logger callid.

autoservice acquires a local reference to the logger callid of each channel
in a loop.  This local reference was not released, causing the callid of
every channel in autoservice to leak.  This change moves the callid unref
inside the loop.

ASTERISK-23616 #close
Reported by: ibercom


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@412305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/61/61/1
Corey Farrell 11 years ago
parent d4b964c29d
commit 6bf7f01aee

@ -131,6 +131,9 @@ static void *autoservice_run(void *ign)
callid = ast_channel_callid(chan);
ast_callid_threadassoc_change(callid);
if (callid) {
callid = ast_callid_unref(callid);
}
f = ast_read(chan);
@ -174,11 +177,6 @@ static void *autoservice_run(void *ign)
}
}
if (callid) {
ast_callid_threadassoc_remove();
callid = ast_callid_unref(callid);
}
asthread = AST_PTHREADT_NULL;
return NULL;

Loading…
Cancel
Save