]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-5395: --resolve Resolve another mod_rtmp crash where oh specific hangup scenarios...
authorWilliam King <william.king@quentustech.com>
Wed, 8 May 2013 23:31:27 +0000 (16:31 -0700)
committerWilliam King <william.king@quentustech.com>
Wed, 8 May 2013 23:53:15 +0000 (16:53 -0700)
src/mod/endpoints/mod_rtmp/mod_rtmp.c
src/mod/endpoints/mod_rtmp/rtmp_tcp.c

index 8311c6bcb08807ef5067767d728de1ec6c4c6297..79d5a7626ab06608308cab1407c1612d1dd067fc 100644 (file)
@@ -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);
index 1e5fd118ad5fbd7d449a467ff3ded637c854ce99..62caf2318507f28f08645f78a0c30ab3925c4e0d 100644 (file)
@@ -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;
 }