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
(cherry picked from commit acd303cd56)
pull/1887/head