diff --git a/src/mod/endpoints/mod_woomera/mod_woomera.c b/src/mod/endpoints/mod_woomera/mod_woomera.c index 345ec8c192..3a07a0c416 100644 --- a/src/mod/endpoints/mod_woomera/mod_woomera.c +++ b/src/mod/endpoints/mod_woomera/mod_woomera.c @@ -557,9 +557,11 @@ static void woomera_printf(woomera_profile * profile, switch_socket_t * socket, va_start(ap, fmt); #ifndef vasprintf stuff = (char *) malloc(10240); + switch_assert(stuff); vsnprintf(stuff, 10240, fmt, ap); #else res = vasprintf(&stuff, fmt, ap); + switch_assert(stuff); #endif va_end(ap); if (res == -1) { @@ -694,6 +696,9 @@ static int woomera_message_parse(switch_socket_t * fd, woomera_message * wmsg, i break; } } + if (wmsg->last > WOOMERA_ARRAY_LEN) { + break; + } if (!cur || !cur[0]) { break;