osmo-cc: Set session to NULL, if no codec matches

Applications will crash, due to use-after-free bug, if this is not done.
This commit is contained in:
Andreas Eversberg
2022-11-24 21:15:47 +01:00
parent 616a5e2820
commit 791a1d79a9

View File

@@ -125,6 +125,7 @@ const char *osmo_cc_helper_audio_accept(osmo_cc_session_config_t *conf, void *pr
if (!selected_codec) { if (!selected_codec) {
PDEBUG(DCC, DEBUG_ERROR, "No codec found in setup message that we support.\n"); PDEBUG(DCC, DEBUG_ERROR, "No codec found in setup message that we support.\n");
osmo_cc_free_session(*session_p); osmo_cc_free_session(*session_p);
*session_p = NULL;
return NULL; return NULL;
} }
osmo_cc_session_accept_codec(selected_codec, codecs[selected_codec_i].encoder, codecs[selected_codec_i].decoder); osmo_cc_session_accept_codec(selected_codec, codecs[selected_codec_i].encoder, codecs[selected_codec_i].decoder);
@@ -138,6 +139,7 @@ const char *osmo_cc_helper_audio_accept(osmo_cc_session_config_t *conf, void *pr
accept_sdp = osmo_cc_session_send_answer(*session_p); accept_sdp = osmo_cc_session_send_answer(*session_p);
if (!accept_sdp) { if (!accept_sdp) {
osmo_cc_free_session(*session_p); osmo_cc_free_session(*session_p);
*session_p = NULL;
return NULL; return NULL;
} }