aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-09-05 16:02:50 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-10-13 16:12:26 +0200
commitff112a55a5ca3422e671e6cbcfdcf9819d8d0593 (patch)
tree4183611792c52b5d5006bbae1dba8e94278263a5
parent292185065bfc31cc82a584427e288bd815bec7df (diff)
sdp_msg: when NULL, do not crash but return empty SDP str
-rw-r--r--src/libmsc/sdp_msg.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libmsc/sdp_msg.c b/src/libmsc/sdp_msg.c
index dd5551769..e16b7b229 100644
--- a/src/libmsc/sdp_msg.c
+++ b/src/libmsc/sdp_msg.c
@@ -240,8 +240,16 @@ int sdp_msg_to_sdp_str_buf(char *dst, size_t dst_size, const struct sdp_msg *sdp
{
const struct sdp_audio_codec *codec;
struct osmo_strbuf sb = { .buf = dst, .len = dst_size };
- const char *ip = sdp->rtp.ip[0] ? sdp->rtp.ip : "0.0.0.0";
- char ipv = osmo_ip_str_type(ip) == AF_INET6 ? '6' : '4';
+ const char *ip;
+ char ipv;
+
+ if (!sdp) {
+ OSMO_STRBUF_PRINTF(sb, "%s", "");
+ return sb.chars_needed;
+ }
+
+ ip = sdp->rtp.ip[0] ? sdp->rtp.ip : "0.0.0.0";
+ ipv = (osmo_ip_str_type(ip) == AF_INET6) ? '6' : '4';
OSMO_STRBUF_PRINTF(sb,
"v=0\r\n"