Merged revisions 333011 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Tue, 23 Aug 2011 18:17:52 +0000 (18:17 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 23 Aug 2011 18:17:52 +0000 (18:17 +0000)
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r333011 | rmudgett | 2011-08-23 13:15:49 -0500 (Tue, 23 Aug 2011) | 19 lines

  Merged revisions 333010 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r333010 | rmudgett | 2011-08-23 13:14:01 -0500 (Tue, 23 Aug 2011) | 12 lines

    Memory Leak in app_queue

    The patch that was committed in the 1.6.x versions of Asterisk for
    ASTERISK-15862 actually fixed two issues.  One was not applicable to 1.8
    but the other is.  queue_leak.patch fixes the portion applicable to 1.8.

    (closes issue ASTERISK-18265)
    Reported by: Fred Schroeder
    Patches:
          queue_leak.patch (license #5049) patch uploaded by mmichelson
    Tested by: Thomas Arimont
  ........
................

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

apps/app_queue.c

index 0e57ec4..7cd3b9e 100644 (file)
@@ -1747,8 +1747,13 @@ static void init_queue(struct call_queue *q)
        ast_string_field_set(q, sound_thanks, "queue-thankyou");
        ast_string_field_set(q, sound_reporthold, "queue-reporthold");
 
-       if ((q->sound_periodicannounce[0] = ast_str_create(32)))
+       if (!q->sound_periodicannounce[0]) {
+               q->sound_periodicannounce[0] = ast_str_create(32);
+       }
+
+       if (q->sound_periodicannounce[0]) {
                ast_str_set(&q->sound_periodicannounce[0], 0, "queue-periodic-announce");
+       }
 
        for (i = 1; i < MAX_PERIODIC_ANNOUNCEMENTS; i++) {
                if (q->sound_periodicannounce[i])