From a4da1054a0b5608caa31f27081eb49b7cef440fc Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 27 Oct 2011 11:46:33 -0500 Subject: [PATCH] fix parsing of dtmf string --- src/switch_core_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/switch_core_io.c b/src/switch_core_io.c index a36d55776b..e27bf86d0f 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -1435,7 +1435,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_send_dtmf_string(switch_core dur = switch_core_default_dtmf_duration(0) / 8; if ((p = strchr(argv[i], '@'))) { *p++ = '\0'; - if ((dur = atoi(p)) > 50) { + if ((dur = atoi(p)) > (int)switch_core_min_dtmf_duration(0) / 8) { dtmf.duration = dur * 8; } } @@ -1444,7 +1444,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_send_dtmf_string(switch_core for (p = argv[i]; p && *p; p++) { if (is_dtmf(*p)) { dtmf.digit = *p; - + if (dtmf.duration > switch_core_max_dtmf_duration(0)) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s EXCESSIVE DTMF DIGIT [%c] LEN [%d]\n", switch_channel_get_name(session->channel), dtmf.digit, dtmf.duration);