From: Richard Mudgett Date: Tue, 23 Aug 2011 18:14:01 +0000 (+0000) Subject: Memory Leak in app_queue X-Git-Tag: 1.8.7.0-rc1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=185f890c898da09dd0797b2293e68c2be1156e78;p=thirdparty%2Fasterisk.git 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/branches/1.8@333010 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index c63c294173..52e10796a8 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1719,8 +1719,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])