aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-09-05 16:02:50 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-09-23 19:01:09 +0200
commit90b80e8591443e98f8d24ac2d3a3c9946386361e (patch)
treeb960f57811654ff4654411d12a075ce911c95c56
parent0b2996819674e1876872ed7c5a8c8a609b99acec (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"