Merged revisions 131369 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Wed, 16 Jul 2008 20:24:12 +0000 (20:24 +0000)
committerMark Michelson <mmichelson@digium.com>
Wed, 16 Jul 2008 20:24:12 +0000 (20:24 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r131369 | mmichelson | 2008-07-16 15:23:02 -0500 (Wed, 16 Jul 2008) | 14 lines

Move the init_queue call back to where it used to be (changed
Sept 12 last year). It was moved then to prevent a memory leak.
Since then, the same memory leak recurred and was fixed in a
better way.

Now it has been found that the placement of this init_queue
call can cause problems if a realtime queue has values changed
to an empty string. The problem is that the default value
for that queue parameter would not be set.

(closes issue #13084)
Reported by: elbriga

........

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

apps/app_queue.c

index dc9fa65..a68d35e 100644 (file)
@@ -1512,9 +1512,9 @@ static struct call_queue *find_queue_by_name_rt(const char *queuename, struct as
                /* We traversed all variables and didn't find a strategy */
                if (!tmpvar)
                        q->strategy = QUEUE_STRATEGY_RINGALL;
-               init_queue(q);          /* Ensure defaults for all parameters not set explicitly. */
                ao2_link(queues, q);
        }
+       init_queue(q);          /* Ensure defaults for all parameters not set explicitly. */
 
        memset(tmpbuf, 0, sizeof(tmpbuf));
        for (v = queue_vars; v; v = v->next) {