sdp_message.c (libosip2-5.2.0) | : | sdp_message.c (libosip2-5.2.1) | ||
---|---|---|---|---|
skipping to change at line 1295 | skipping to change at line 1295 | |||
global one. | global one. | |||
*/ | */ | |||
i = osip_list_size(&sdp->m_medias); | i = osip_list_size(&sdp->m_medias); | |||
if (i == 0) | if (i == 0) | |||
sdp->k_key = k_header; | sdp->k_key = k_header; | |||
else { | else { | |||
sdp_media_t *last_sdp_media = (sdp_media_t *) osip_list_get(&sdp->m_medias, i - 1); | sdp_media_t *last_sdp_media = (sdp_media_t *) osip_list_get(&sdp->m_medias, i - 1); | |||
if (last_sdp_media != NULL) { /* fixed Jan 10,2020: avoid a possible memory | /* fixed Jan 10,2020: avoid a possible memory leak with k appearing several | |||
leak with k appearing several times after media line */ | times after media line */ | |||
/* fixed Nov 04,2020: wrong test was applied. Any media k= line was being re | ||||
jected */ | ||||
if (last_sdp_media->k_key != NULL) { | ||||
/* I believe such condition cannot happen any more: the method can't be ca | ||||
lled twice on a media */ | ||||
sdp_key_free(k_header); | sdp_key_free(k_header); | |||
return -1; | return -1; | |||
} | } | |||
last_sdp_media->k_key = k_header; | last_sdp_media->k_key = k_header; | |||
} | } | |||
if (crlf[1] == '\n') | if (crlf[1] == '\n') | |||
*next = crlf + 2; | *next = crlf + 2; | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 7 lines changed or added |