]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 298345 via svnmerge from
authorSean Bright <sean@malleable.com>
Wed, 15 Dec 2010 21:31:35 +0000 (21:31 +0000)
committerSean Bright <sean@malleable.com>
Wed, 15 Dec 2010 21:31:35 +0000 (21:31 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r298345 | seanbright | 2010-12-15 16:28:29 -0500 (Wed, 15 Dec 2010) | 6 lines

  Fix reference and container leaks when running 'astobj2 test.'

  We need to make sure that ao2_iterator_destroy is called once for each time that
  ao2_iterator_init is called.  Also make sure to unref a newly allocated object
  that we've linked into a container.
........

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

main/astobj2.c

index a0f6ab34e1284bb23ef74c0b2cf1b6991eb7cc61..784dfb0a9e9faa9272836253bce819ec9cafdbaa 100644 (file)
@@ -1095,12 +1095,14 @@ static char *handle_astobj2_test(struct ast_cli_entry *e, int cmd, struct ast_cl
                                ao2_t_unlink(c1, obj,"test");
                        ao2_t_ref(obj, -1,"test");
                }
+               ao2_iterator_destroy(&ai);
                ast_cli(a->fd, "testing iterators again\n");
                ai = ao2_iterator_init(c1, 0);
                while ( (obj = ao2_t_iterator_next(&ai,"test")) ) {
                        ast_cli(a->fd, "iterator on <%s>\n", obj);
                        ao2_t_ref(obj, -1,"test");
                }
+               ao2_iterator_destroy(&ai);
        }
        ast_cli(a->fd, "testing callbacks again\n");
        ao2_t_callback(c1, 0, print_cb, &a->fd, "test callback");