diff --git a/pbx.c b/pbx.c index b355abe0441fffb0da9e13261b8fedf2ada55353..197175c1ed3f5032f102a038f823a21fb9c698f2 100644 --- a/pbx.c +++ b/pbx.c @@ -3728,10 +3728,14 @@ static unsigned get_range(char *src, int max, char *const names[], const char *m } /* Fill the mask. Remember that ranges are cyclic */ mask = 1 << e; /* initialize with last element */ - for ( ; s != e; s++) { - if (s == max) - s = 0 ; - mask |= (1 << s); + while (s != e) { + if (s >= max) { + s = 0; + mask |= (1 << s); + } else { + mask |= (1 << s); + s++; + } } return mask; }