TT#111150 fix coverity warnings

Change-Id: I330d5137d38017641bdda71e8bd014c358c432fb
pull/1278/head
Richard Fuchs 4 years ago
parent 1085d80c98
commit 94a5feea7d

@ -2174,14 +2174,16 @@ void codecs_offer_answer(struct call_media *media, struct call_media *other_medi
ilogs(codec, LOG_DEBUG, "Updating receiver side codecs for offerer " STR_FORMAT " #%u",
STR_FMT(&other_media->monologue->tag),
other_media->index);
codec_store_populate(&other_media->codecs, &sp->codecs, flags->codec_set);
codec_store_strip(&other_media->codecs, &flags->codec_strip, flags->codec_except);
codec_store_offer(&other_media->codecs, &flags->codec_offer, &sp->codecs);
if (!other_media->codecs.strip_full)
codec_store_offer(&other_media->codecs, &flags->codec_transcode, &sp->codecs);
codec_store_accept(&other_media->codecs, &flags->codec_accept, NULL);
codec_store_accept(&other_media->codecs, &flags->codec_consume, &sp->codecs);
codec_store_track(&other_media->codecs, &flags->codec_mask);
codec_store_populate(&other_media->codecs, &sp->codecs, flags ? flags->codec_set : NULL);
if (flags) {
codec_store_strip(&other_media->codecs, &flags->codec_strip, flags->codec_except);
codec_store_offer(&other_media->codecs, &flags->codec_offer, &sp->codecs);
if (!other_media->codecs.strip_full)
codec_store_offer(&other_media->codecs, &flags->codec_transcode, &sp->codecs);
codec_store_accept(&other_media->codecs, &flags->codec_accept, NULL);
codec_store_accept(&other_media->codecs, &flags->codec_consume, &sp->codecs);
codec_store_track(&other_media->codecs, &flags->codec_mask);
}
// we don't update the answerer side if the offer is not RTP but is going
// to RTP (i.e. T.38 transcoding) - instead we leave the existing codec list
@ -2197,11 +2199,13 @@ void codecs_offer_answer(struct call_media *media, struct call_media *other_medi
media->index);
codec_store_populate(&media->codecs, &sp->codecs, NULL);
}
codec_store_strip(&media->codecs, &flags->codec_strip, flags->codec_except);
codec_store_strip(&media->codecs, &flags->codec_consume, flags->codec_except);
codec_store_strip(&media->codecs, &flags->codec_mask, flags->codec_except);
codec_store_offer(&media->codecs, &flags->codec_offer, &sp->codecs);
codec_store_transcode(&media->codecs, &flags->codec_transcode, &sp->codecs);
if (flags) {
codec_store_strip(&media->codecs, &flags->codec_strip, flags->codec_except);
codec_store_strip(&media->codecs, &flags->codec_consume, flags->codec_except);
codec_store_strip(&media->codecs, &flags->codec_mask, flags->codec_except);
codec_store_offer(&media->codecs, &flags->codec_offer, &sp->codecs);
codec_store_transcode(&media->codecs, &flags->codec_transcode, &sp->codecs);
}
codec_store_synthesise(&media->codecs, &other_media->codecs);
// update supp codecs based on actions so far
@ -3445,6 +3449,8 @@ new_branch:
ok_check_tag:
for (GList *sub = ret->subscriptions.head; sub; sub = sub->next) {
struct call_subscription *cs = sub->data;
if (!cs->offer_answer)
continue;
struct call_monologue *csm = cs->monologue;
if (!os)
os = csm;

@ -2417,7 +2417,7 @@ found:
struct call_media *sink = NULL;
for (GList *m = dialogue->medias.head; m; m = m->next) {
sink = m->data;
if (media->type_id != MT_AUDIO)
if (sink->type_id != MT_AUDIO)
continue;
goto found_sink;
}

@ -1268,7 +1268,8 @@ static void cli_incoming_set_loglevel(str *instr, struct cli_writer *cw) {
str subsys = STR_NULL;
if (instr->len && (instr->s[0] < '0' || instr->s[0] > '9'))
str_token_sep(&subsys, instr, ' ');
if (str_token_sep(&subsys, instr, ' '))
subsys = STR_NULL;
if (!instr->len) {
cw->cw_printf(cw, "%s\n", "More parameters required.");

@ -2886,6 +2886,8 @@ static int handler_func_inject_dtmf(struct codec_handler *h, struct media_packet
h->output_handler = h->input_handler;
struct codec_ssrc_handler *ch = get_ssrc(mp->ssrc_in->parent->h.ssrc, h->ssrc_hash);
if (!ch)
return 0;
decoder_input_data(ch->decoder, &mp->payload, mp->rtp->timestamp,
h->packet_decoded, ch, mp);
obj_put(&ch->h);

@ -77,7 +77,7 @@ static void xt_lock(void) {
static void xt_unlock(void) {
if (__xt_lock_fd != -1)
close(__xt_lock_fd);
__xt_lock_fd = -1;
__xt_lock_fd = -1; // coverity[missing_lock : FALSE]
mutex_unlock(&__xt_lock);
}

@ -224,13 +224,14 @@ int buffer_packet(struct media_packet *mp, const str *s) {
struct jb_packet *p = NULL;
int ret = 1; // must call stream_packet
mp->stream = mp->sfd->stream;
mp->media = mp->stream->media;
mp->call = mp->sfd->call;
struct call *call = mp->call;
rwlock_lock_r(&call->master_lock);
mp->stream = mp->sfd->stream;
mp->media = mp->stream->media;
struct jitter_buffer *jb = mp->stream->jb;
if (!jb || jb->disabled || !PS_ISSET(mp->sfd->stream, RTP))
goto end;

@ -1479,7 +1479,7 @@ const struct streamhandler *determine_handler(const struct transport_protocol *i
// special handling for RTP/AVP with advertised a=rtcp-fb
int out_proto_idx = out_proto ? out_proto->index : in_proto->index;
if (out_media && MEDIA_ISSET(out_media, RTCP_FB)) {
if (out_media && MEDIA_ISSET(out_media, RTCP_FB) && out_proto) {
if (!out_proto->avpf && out_proto->avpf_proto)
out_proto_idx = out_proto->avpf_proto;
}
@ -1517,16 +1517,16 @@ static const struct streamhandler *__determine_handler(struct packet_stream *in,
must_recrypt = 1;
else if (dtmf_do_logging())
must_recrypt = 1;
else if (MEDIA_ISSET(in->media, DTLS) || MEDIA_ISSET(out->media, DTLS))
else if (MEDIA_ISSET(in->media, DTLS) || (out && MEDIA_ISSET(out->media, DTLS)))
must_recrypt = 1;
else if (MEDIA_ISSET(in->media, TRANSCODE) || MEDIA_ISSET(out->media, TRANSCODE))
else if (MEDIA_ISSET(in->media, TRANSCODE) || (out && MEDIA_ISSET(out->media, TRANSCODE)))
must_recrypt = 1;
else if (in->call->recording)
must_recrypt = 1;
else if (in->rtp_sinks.length > 1 || in->rtcp_sinks.length > 1) // need a proper decrypter?
must_recrypt = 1;
else if (in_proto->srtp && out_proto->srtp
&& in->selected_sfd && out->selected_sfd
&& in->selected_sfd && out && out->selected_sfd
&& (crypto_params_cmp(&in->crypto.params, &out->selected_sfd->crypto.params)
|| crypto_params_cmp(&out->crypto.params, &in->selected_sfd->crypto.params)))
must_recrypt = 1;
@ -2347,7 +2347,6 @@ static int stream_packet(struct packet_handler_ctx *phc) {
goto next;
err_next:
ret = -errno;
ilog(LOG_DEBUG,"Error when sending message. Error: %s", strerror(errno));
atomic64_inc(&sh->sink->stats.errors);
RTPE_STATS_INC(errors, 1);

@ -1780,6 +1780,8 @@ static int json_build_ssrc(struct call_monologue *ml, JsonReader *root_reader) {
uint32_t ssrc = json_reader_get_ll(root_reader, "ssrc");
struct ssrc_entry_call *se = get_ssrc(ssrc, ml->ssrc_hash);
if (!se)
goto next;
se->input_ctx.srtp_index = json_reader_get_ll(root_reader, "in_srtp_index");
se->input_ctx.srtcp_index = json_reader_get_ll(root_reader, "in_srtcp_index");
payload_tracker_add(&se->input_ctx.tracker, json_reader_get_ll(root_reader, "in_payload_type"));
@ -1787,8 +1789,9 @@ static int json_build_ssrc(struct call_monologue *ml, JsonReader *root_reader) {
se->output_ctx.srtcp_index = json_reader_get_ll(root_reader, "out_srtcp_index");
payload_tracker_add(&se->output_ctx.tracker, json_reader_get_ll(root_reader, "out_payload_type"));
json_reader_end_element(root_reader);
obj_put(&se->h);
next:
json_reader_end_element(root_reader);
}
json_reader_end_member (root_reader);
return 0;
@ -1918,6 +1921,7 @@ static void json_restore_call(struct redis *r, const str *callid, int foreign) {
// presence of this key determines whether we were recording at all
if (!redis_hash_get_str(&s, &call, "recording_meta_prefix")) {
// coverity[check_return : FALSE]
redis_hash_get_str(&meta, &call, "recording_metadata");
recording_start(c, s.s, &meta);
}

@ -243,7 +243,8 @@ INLINE str *str_init_dup_str(str *out, const str *s) {
return out;
}
char *buf = g_malloc(s->len + 1);
memcpy(buf, s->s, s->len);
if (s->s && s->len)
memcpy(buf, s->s, s->len);
buf[s->len] = '\0';
out->len = s->len;
out->s = buf;

Loading…
Cancel
Save