diff --git a/src/mod/applications/mod_fifo/mod_fifo.c b/src/mod/applications/mod_fifo/mod_fifo.c index de7645b128..975aa6c72d 100644 --- a/src/mod/applications/mod_fifo/mod_fifo.c +++ b/src/mod/applications/mod_fifo/mod_fifo.c @@ -452,7 +452,7 @@ SWITCH_STANDARD_APP(fifo_function) if (!consumer && node) { switch_core_session_t *other_session; switch_channel_t *other_channel; - const char *uuid = strdup(switch_core_session_get_uuid(session)); + const char *uuid = switch_core_session_get_uuid(session); const char *pri; char tmp[25] = ""; int p = 0; @@ -510,7 +510,7 @@ SWITCH_STANDARD_APP(fifo_function) node->start_waiting = switch_timestamp_now(); } - switch_queue_push(node->fifo_list[p], (void *)uuid); + switch_queue_push(node->fifo_list[p], (void *)strdup(uuid)); if (!pri) { switch_snprintf(tmp, sizeof(tmp), "%d", p); diff --git a/src/switch_channel.c b/src/switch_channel.c index f122ac0828..c891bfaaf0 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -424,7 +424,7 @@ SWITCH_DECLARE(const char *) switch_channel_get_variable(switch_channel_t *chann switch_assert(channel != NULL); switch_mutex_lock(channel->profile_mutex); - if (!(v = switch_event_get_header(channel->variables, (char*)varname))) { + if (!channel->variables || !(v = switch_event_get_header(channel->variables, (char*)varname))) { switch_caller_profile_t *cp = channel->caller_profile; if (cp) { diff --git a/src/switch_event.c b/src/switch_event.c index bb7d05ad3b..1506095bd7 100644 --- a/src/switch_event.c +++ b/src/switch_event.c @@ -510,6 +510,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_set_priority(switch_event_t *event, SWITCH_DECLARE(char *) switch_event_get_header(switch_event_t *event, char *header_name) { switch_event_header_t *hp; + switch_assert(event); if (!header_name) return NULL; for (hp = event->headers; hp; hp = hp->next) {