mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-17 17:22:21 +00:00
FS-4450 this is pre-emptive, This is the only way I can see an endless loop here
This commit is contained in:
parent
b5f7443524
commit
6ec4514c68
@ -2380,8 +2380,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
|
|||||||
|
|
||||||
while (*chan_type == '[') {
|
while (*chan_type == '[') {
|
||||||
char *parsed = NULL;
|
char *parsed = NULL;
|
||||||
|
char *bend = switch_find_end_paren(chan_type, '[', ']');
|
||||||
|
|
||||||
for (p = chan_type; p && *p && *p != ']'; p++) {
|
for (p = chan_type + 1; p && p < bend && *p; p++) {
|
||||||
if (*p == QUOTED_ESC_COMMA) {
|
if (*p == QUOTED_ESC_COMMA) {
|
||||||
*p = ',';
|
*p = ',';
|
||||||
}
|
}
|
||||||
@ -2393,8 +2394,13 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
|
|||||||
switch_goto_status(SWITCH_STATUS_GENERR, done);
|
switch_goto_status(SWITCH_STATUS_GENERR, done);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (chan_type == parsed) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Parse Error!\n");
|
||||||
|
switch_goto_status(SWITCH_STATUS_GENERR, done);
|
||||||
|
} else {
|
||||||
chan_type = parsed;
|
chan_type = parsed;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* strip leading spaces (again) */
|
/* strip leading spaces (again) */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user