aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2020-01-13 15:51:56 +0100
committerlaforge <laforge@osmocom.org>2020-01-31 15:27:50 +0000
commit74e7072f63b2f04cb65b64abfe5ca49695f0166e (patch)
treee2afe920c6890341f54b3b457435753d5ba167d9
parent4fa9653733561828551a7aa8c1f9c19f093dadf4 (diff)
mdns_rfc.c: fix possible access of uninit. mem
Fixes: CID#207548 Change-Id: Ifa269d8a88d84c01349668cdd8d1f1d24c12c6d8
-rw-r--r--src/mslookup/mdns_rfc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mslookup/mdns_rfc.c b/src/mslookup/mdns_rfc.c
index e1fc184..6f39a8e 100644
--- a/src/mslookup/mdns_rfc.c
+++ b/src/mslookup/mdns_rfc.c
@@ -83,7 +83,12 @@ char *osmo_mdns_rfc_qname_decode(void *ctx, const char *qname, size_t qname_max_
return NULL;
while (*qname) {
- size_t len = *qname;
+ size_t len;
+
+ if (i >= qname_max_len)
+ return NULL;
+
+ len = *qname;
next_label = qname + len + 1;
if (next_label >= qname_end || i + len > OSMO_MDNS_RFC_MAX_NAME_LEN)