diff options
| -rw-r--r-- | src/network/getnameinfo.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/src/network/getnameinfo.c b/src/network/getnameinfo.c index 7abe0fa9..133c15b3 100644 --- a/src/network/getnameinfo.c +++ b/src/network/getnameinfo.c @@ -162,8 +162,10 @@ int getnameinfo(const struct sockaddr *restrict sa, socklen_t sl,  			query[3] = 0; /* don't need AD flag */  			int rlen = __res_send(query, qlen, reply, sizeof reply);  			buf[0] = 0; -			if (rlen > 0) +			if (rlen > 0) { +				if (rlen > sizeof reply) rlen = sizeof reply;  				__dns_parse(reply, rlen, dns_parse_callback, buf); +			}  		}  		if (!*buf) {  			if (flags & NI_NAMEREQD) return EAI_NONAME;  | 
