From ac34cd3508796766688fef451ddb35f0ca6dc2e4 Mon Sep 17 00:00:00 2001 From: seanbright Date: Wed, 15 Dec 2010 21:31:35 +0000 Subject: Merged revisions 298345 via svnmerge from 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: http://svn.digium.com/svn/asterisk/branches/1.6.2@298346 f38db490-d61c-443f-a65b-d21fe96a405b --- main/astobj2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main/astobj2.c b/main/astobj2.c index a0f6ab34e..784dfb0a9 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -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"); -- cgit v1.2.3