From: Marc Olivier Chouinard Date: Wed, 28 Dec 2011 05:35:05 +0000 (-0500) Subject: mod_event_socket: Fix a segfault on authlogin with missing domain X-Git-Tag: v1.2-rc1~19^2^2~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c22661efbfbbf22577f15a1ed3923c7a102808e;p=thirdparty%2Ffreeswitch.git mod_event_socket: Fix a segfault on authlogin with missing domain --- diff --git a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c index d35488d235..e873114ed4 100644 --- a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c +++ b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c @@ -1605,7 +1605,7 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even const char *allowed_api; const char *allowed_events; switch_event_t *params; - char *user, *domain_name, *pass; + char *user = NULL, *domain_name = NULL, *pass = NULL; switch_xml_t x_domain = NULL, x_domain_root, x_user = NULL, x_params, x_param, x_group = NULL; int authed = 0; char *edup = NULL; @@ -1621,11 +1621,11 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even user = cmd + 9; - if ((domain_name = strchr(user, '@'))) { + if (user && (domain_name = strchr(user, '@'))) { *domain_name++ = '\0'; } - if ((pass = strchr(domain_name, ':'))) { + if (domain_name && (pass = strchr(domain_name, ':'))) { *pass++ = '\0'; }