diff --git a/src/modules/rtp_media_server/rms_dialog_info.c b/src/modules/rtp_media_server/rms_dialog_info.c index f312cff2987..4b1d8269b4e 100644 --- a/src/modules/rtp_media_server/rms_dialog_info.c +++ b/src/modules/rtp_media_server/rms_dialog_info.c @@ -25,6 +25,7 @@ extern int in_rms_process; static void rms_action_free(rms_dialog_info_t *si) { rms_action_t *a, *tmp; + if (!si->action.prev) return; clist_foreach(&si->action, a, next) { tmp = a; diff --git a/src/modules/rtp_media_server/rms_sdp.c b/src/modules/rtp_media_server/rms_sdp.c index 304fee2b9ca..55277987b41 100644 --- a/src/modules/rtp_media_server/rms_sdp.c +++ b/src/modules/rtp_media_server/rms_sdp.c @@ -186,7 +186,7 @@ PayloadType *rms_sdp_check_payload(rms_sdp_info_t *sdp) char *payloads = sdp->payloads.s; char *payload_type_number = strtok(payloads, " "); if(!payload_type_number) { - payload_type_destroy(pt); + shm_free(pt); // payload_type_destroy(pt); return NULL; } pt->type = atoi(payload_type_number); @@ -225,7 +225,7 @@ PayloadType *rms_sdp_check_payload(rms_sdp_info_t *sdp) break; payload_type_number = strtok(NULL, " "); if(!payload_type_number) { - payload_type_destroy(pt); + shm_free(pt); // payload_type_destroy(pt); return NULL; } pt->type = atoi(payload_type_number);