Merged revisions 304777 via svnmerge from
authorSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 18:10:34 +0000 (18:10 +0000)
committerSean Bright <sean@malleable.com>
Sat, 29 Jan 2011 18:10:34 +0000 (18:10 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r304777 | seanbright | 2011-01-29 13:09:37 -0500 (Sat, 29 Jan 2011) | 22 lines

  Merged revisions 304776 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ........
    r304776 | seanbright | 2011-01-29 13:08:14 -0500 (Sat, 29 Jan 2011) | 15 lines

    If we fail to allocate our announcement objects, make sure we don't leak objects.

    The majority of this patch was committed already in r304726 and r304729.

    (issue #18225)
    Reported by: kenji

    (issue #18444)
    Reported by: junky

    (closes issue #18343)
    Reported by: kobaz
    Patches:
          meetme-refs.diff uploaded by kobaz (license 834)
  ........
................

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

apps/app_meetme.c

index 7c50531..18b1e11 100644 (file)
@@ -2679,7 +2679,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc
                        ast_test_flag64(confflags, CONFFLAG_INTROUSERNOREVIEW) || ast_test_flag64(confflags, CONFFLAG_INTROUSER_VMREC)) && conf->users > 1) {
                struct announce_listitem *item;
                if (!(item = ao2_alloc(sizeof(*item), NULL)))
-                       return -1;
+                       goto outrun;
                ast_copy_string(item->namerecloc, user->namerecloc, sizeof(item->namerecloc));
                ast_copy_string(item->language, chan->language, sizeof(item->language));
                item->confchan = conf->chan;
@@ -3738,7 +3738,7 @@ bailoutandtrynormal:
        if (!ast_test_flag64(confflags, CONFFLAG_QUIET) && ast_test_flag64(confflags, CONFFLAG_INTROUSER |CONFFLAG_INTROUSERNOREVIEW | CONFFLAG_INTROUSER_VMREC) && conf->users > 1) {
                struct announce_listitem *item;
                if (!(item = ao2_alloc(sizeof(*item), NULL)))
-                       return -1;
+                       goto outrun;
                ast_copy_string(item->namerecloc, user->namerecloc, sizeof(item->namerecloc));
                ast_copy_string(item->language, chan->language, sizeof(item->language));
                item->confchan = conf->chan;