mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
skip dialplan args with bad char sequences
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16882 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -415,6 +415,13 @@ SWITCH_DECLARE(void) switch_caller_extension_add_application_printf(switch_core_
|
||||
va_end(ap);
|
||||
|
||||
if (data) {
|
||||
char *p;
|
||||
|
||||
if ((p = strstr(data, "\\'"))) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "App not added, Invalid character sequence in data string [%s]\n", data);
|
||||
free(data);
|
||||
return;
|
||||
}
|
||||
switch_caller_extension_add_application(session, caller_extension, application_name, data);
|
||||
free(data);
|
||||
}
|
||||
@@ -426,12 +433,22 @@ SWITCH_DECLARE(void) switch_caller_extension_add_application(switch_core_session
|
||||
const char *application_data)
|
||||
{
|
||||
switch_caller_application_t *caller_application = NULL;
|
||||
char *p;
|
||||
|
||||
switch_assert(session != NULL);
|
||||
|
||||
if ((caller_application = switch_core_session_alloc(session, sizeof(switch_caller_application_t))) != 0) {
|
||||
caller_application->application_name = switch_core_session_strdup(session, application_name);
|
||||
caller_application->application_data = switch_core_session_strdup(session, application_data);
|
||||
|
||||
|
||||
|
||||
if ((p = strstr(caller_application->application_data, "\\'"))) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "App not added, Invalid character sequence in data string [%s]\n",
|
||||
caller_application->application_data);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!caller_extension->applications) {
|
||||
caller_extension->applications = caller_application;
|
||||
} else if (caller_extension->last_application) {
|
||||
|
Reference in New Issue
Block a user