Skip to content

Commit 504b78f

Browse files
richaasalfredh
authored andcommitted
dns: fix dname decode buffer checks (#197)
1 parent 25c63a6 commit 504b78f

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/dns/dname.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ int dns_dname_decode(struct mbuf *mb, char **name, size_t start)
194194

195195
--mb->pos;
196196

197+
if (mbuf_get_left(mb) < 2)
198+
break;
199+
197200
offset = ntohs(mbuf_read_u16(mb)) & OFFSET_MASK;
198201
if (!comp) {
199202
pos = mb->pos;
@@ -205,7 +208,7 @@ int dns_dname_decode(struct mbuf *mb, char **name, size_t start)
205208
}
206209
else if (len > mbuf_get_left(mb))
207210
break;
208-
else if (len > sizeof(buf) - i - 2)
211+
else if (len + i + 2 > sizeof(buf))
209212
break;
210213

211214
if (i > 0)

0 commit comments

Comments
 (0)