Browse Source

TT#14008 add additional NULL checks for `flags`

`flags` being NULL is not really a use case we have right now, but it
might be in the future. Make sure we don't crash.

Change-Id: I4400553fc0a665d94f2e1cdced855250b46d88a4
Warned-by: coverity
mr10.4
Richard Fuchs 4 years ago
parent
commit
d06460de1d
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      daemon/sdp.c

+ 6
- 6
daemon/sdp.c View File

@ -2433,7 +2433,7 @@ static void insert_crypto1(GString *s, struct call_media *media, struct crypto_p
p, &state, &save);
p += g_base64_encode_close(0, p, &state, &save);
if (!flags->sdes_pad) {
if (!flags || !flags->sdes_pad) {
// truncate trailing ==
while (p > b64_buf && p[-1] == '=')
p--;
@ -2444,7 +2444,7 @@ static void insert_crypto1(GString *s, struct call_media *media, struct crypto_p
g_string_append(s, cps->params.crypto_suite->name);
g_string_append(s, " inline:");
g_string_append_len(s, b64_buf, p - b64_buf);
if (flags->sdes_lifetime)
if (flags && flags->sdes_lifetime)
g_string_append(s, "|2^31");
if (cps->params.mki_len) {
ull = 0;
@ -2465,10 +2465,10 @@ static void insert_crypto(GString *s, struct call_media *media, struct sdp_ng_fl
insert_crypto1(s, media, l->data, flags);
}
static void insert_rtcp_attr(GString *s, struct packet_stream *ps, const struct sdp_ng_flags *flags) {
if (flags->no_rtcp_attr)
if (flags && flags->no_rtcp_attr)
return;
g_string_append_printf(s, "a=rtcp:%u", ps->selected_sfd->socket.local.port);
if (flags->full_rtcp_attr) {
if (flags && flags->full_rtcp_attr) {
char buf[64];
int len;
if (!is_addr_unspecified(&flags->parsed_media_address))
@ -2551,7 +2551,7 @@ struct packet_stream *print_rtcp(GString *s, struct call_media *media, GList *rt
if (proto_is_rtp(media->protocol)) {
if (MEDIA_ISSET(media, RTCP_MUX)
&& (flags->opmode == OP_ANSWER || flags->opmode == OP_OTHER
&& (!flags || flags->opmode == OP_ANSWER || flags->opmode == OP_OTHER
|| flags->opmode == OP_PUBLISH
|| ((flags->opmode == OP_OFFER || flags->opmode == OP_REQUEST)
&& flags->rtcp_mux_require)))
@ -2560,7 +2560,7 @@ struct packet_stream *print_rtcp(GString *s, struct call_media *media, GList *rt
g_string_append(s, "a=rtcp-mux\r\n");
ps_rtcp = NULL;
}
else if (ps_rtcp && flags->ice_option != ICE_FORCE_RELAY) {
else if (ps_rtcp && (!flags || flags->ice_option != ICE_FORCE_RELAY)) {
insert_rtcp_attr(s, ps_rtcp, flags);
if (MEDIA_ISSET(media, RTCP_MUX))
g_string_append(s, "a=rtcp-mux\r\n");


Loading…
Cancel
Save