]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Resolve some memory leaks due to incorrect for loop / ao2 ref usage.
authorMark Michelson <mmichelson@digium.com>
Fri, 18 Oct 2013 18:44:21 +0000 (18:44 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 18 Oct 2013 18:44:21 +0000 (18:44 +0000)
commitc30170d9a22255e35606a8c506e398f817a5c15c
treeb2ee714b06705a0ea2e52caefb0fafcbf52bc7f4
parent057d105c5ab47f132036a6f54c1dae636a9442bd
Resolve some memory leaks due to incorrect for loop / ao2 ref usage.

A common idiom in Asterisk is to due something like:

for (ao2_obj = list_beginning; ao2_obj = next_item; ao2_ref(ao2_obj, -1)) {
    ...do stuff...
}

This is nice because it automatically takes care of the object references
for you. However, there is a pitfall here. If a break statement is in the
for loop, then the current reference is not cleaned up. In some cases, this
is on purpose, but in others there is a leak. This commit fixes the leak
cases.
........

Merged revisions 401248 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/bridge.c
main/bucket.c
main/cli.c
main/manager.c
main/sorcery.c