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
callid = ast_channel_callid(chan);
ast_callid_threadassoc_change(callid);
+ if (callid) {
+ callid = ast_callid_unref(callid);
+ }
f = ast_read(chan);
}
}
- if (callid) {
- ast_callid_threadassoc_remove();
- callid = ast_callid_unref(callid);
- }
-
asthread = AST_PTHREADT_NULL;
return NULL;