Browse Source

MT#58636 Fix a defect detected by Coverity Scan

** CID 1574844:  Null pointer dereferences  (FORWARD_NULL)
/daemon/call.c: 2416 in codecs_offer()

*** CID 1574844:  Null pointer dereferences  (FORWARD_NULL)
/daemon/call.c: 2416 in codecs_offer()
2410
2411     	if (update_answerer) {
2412     		// update/create answer/receiver side
2413     		ilogs(codec, LOG_DEBUG, "Updating offer codecs for answerer " STR_FORMAT " #%u",
2414     				STR_FMT(&media->monologue->tag),
2415     				media->index);
>>>     CID 1574844:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "flags".
2416     		if (flags->static_codecs && media->codecs.codec_prefs.length)
2417     			ilogs(codec, LOG_DEBUG, "Leaving answerer codecs alone");
2418     		else if (flags && flags->reuse_codec)
2419     			codec_store_populate_reuse(&media->codecs, &sp->codecs,
2420     					.merge_cs = &sp->codecs);
2421     		else

** CID 1574843:  Null pointer dereferences  (REVERSE_INULL)
/daemon/call.c: 2418 in codecs_offer()

*** CID 1574843:  Null pointer dereferences  (REVERSE_INULL)
/daemon/call.c: 2418 in codecs_offer()
2412     		// update/create answer/receiver side
2413     		ilogs(codec, LOG_DEBUG, "Updating offer codecs for answerer " STR_FORMAT " #%u",
2414     				STR_FMT(&media->monologue->tag),
2415     				media->index);
2416     		if (flags->static_codecs && media->codecs.codec_prefs.length)
2417     			ilogs(codec, LOG_DEBUG, "Leaving answerer codecs alone");
>>>     CID 1574843:  Null pointer dereferences  (REVERSE_INULL)
>>>     Null-checking "flags" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2418     		else if (flags && flags->reuse_codec)
2419     			codec_store_populate_reuse(&media->codecs, &sp->codecs,
2420     					.merge_cs = &sp->codecs);
2421     		else
2422     			codec_store_populate(&media->codecs, &sp->codecs,
2423     					.allow_asymmetric = !!(flags && flags->allow_asymmetric_codecs),

Change-Id: Ife9ad5fdf9481fb74bbc4e7c5ac5a784bb564d4b
pull/1682/merge
Donat Zenichev 2 years ago
parent
commit
acd303cd56
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      daemon/call.c

+ 1
- 1
daemon/call.c View File

@ -2413,7 +2413,7 @@ static void codecs_offer(struct call_media *media, struct call_media *other_medi
ilogs(codec, LOG_DEBUG, "Updating offer codecs for answerer " STR_FORMAT " #%u",
STR_FMT(&media->monologue->tag),
media->index);
if (flags->static_codecs && media->codecs.codec_prefs.length)
if ((flags && flags->static_codecs) && media->codecs.codec_prefs.length)
ilogs(codec, LOG_DEBUG, "Leaving answerer codecs alone");
else if (flags && flags->reuse_codec)
codec_store_populate_reuse(&media->codecs, &sp->codecs,


Loading…
Cancel
Save