aboutsummaryrefslogtreecommitdiffstats
path: root/main/pbx.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-14 16:22:14 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-14 16:22:14 +0000
commitd228a64c00d1cf3ac60f83524db86aaf02148d35 (patch)
tree9b278fd563083dccd806c8a030e4f6280a9f32bd /main/pbx.c
parent854b6e04a40d251a488a74828c468cd9ceaf1666 (diff)
If the timing ended on a zero, then we would loop forever.
(closes issue #14983) Reported by: teox Patches: 20090513__issue14983.diff.txt uploaded by tilghman (license 14) Tested by: teox git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194430 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/main/pbx.c b/main/pbx.c
index a0083a0af..2a10e9b00 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -7083,11 +7083,10 @@ static unsigned get_range(char *src, int max, char *const names[], const char *m
/* Fill the mask. Remember that ranges are cyclic */
mask |= (1 << end); /* initialize with last element */
while (start != end) {
- if (start >= max) {
+ mask |= (1 << start);
+ if (++start >= max) {
start = 0;
}
- mask |= (1 << start);
- start++;
}
}
return mask;