diff --git a/src/mod/endpoints/mod_rtmp/mod_rtmp.c b/src/mod/endpoints/mod_rtmp/mod_rtmp.c index 8311c6bcb0..79d5a7626a 100644 --- a/src/mod/endpoints/mod_rtmp/mod_rtmp.c +++ b/src/mod/endpoints/mod_rtmp/mod_rtmp.c @@ -767,6 +767,7 @@ switch_status_t rtmp_session_request(rtmp_profile_t *profile, rtmp_session_t **n (*newsession)->in_chunksize = (*newsession)->out_chunksize = RTMP_DEFAULT_CHUNKSIZE; (*newsession)->recv_ack_window = RTMP_DEFAULT_ACK_WINDOW; (*newsession)->next_streamid = 1; + (*newsession)->io_private = NULL; switch_uuid_get(&uuid); switch_uuid_format((*newsession)->uuid, &uuid); diff --git a/src/mod/endpoints/mod_rtmp/rtmp_tcp.c b/src/mod/endpoints/mod_rtmp/rtmp_tcp.c index 1e5fd118ad..62caf23185 100644 --- a/src/mod/endpoints/mod_rtmp/rtmp_tcp.c +++ b/src/mod/endpoints/mod_rtmp/rtmp_tcp.c @@ -183,8 +183,10 @@ static switch_status_t rtmp_tcp_close(rtmp_session_t *rsession) switch_buffer_destroy(&(io_pvt->sendq)); } - free(rsession->io_private); - rsession->io_private = NULL; + if ( rsession->io_private ) { + free(rsession->io_private); + rsession->io_private = NULL; + } return SWITCH_STATUS_SUCCESS; }