From 1c265b9628ca4416c1963df857adf40d05d17ad8 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Mon, 17 Dec 2012 23:21:58 +0100 Subject: [PATCH] getnameinfo: check size and family of salen --- src/libproxychains.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libproxychains.c b/src/libproxychains.c index 02c9c22..9c6c58c 100644 --- a/src/libproxychains.c +++ b/src/libproxychains.c @@ -395,6 +395,8 @@ int pc_getnameinfo(const struct sockaddr *sa, socklen_t salen, if(!proxychains_resolver) { ret = true_getnameinfo(sa, salen, host, hostlen, serv, servlen, flags); } else { + if(salen < sizeof(struct sockaddr_in) || SOCKFAMILY(*sa) != AF_INET) + return EAI_FAMILY; if(hostlen) { pc_stringfromipv4((unsigned char*) &(SOCKADDR_2(*sa)), ip_buf); if(snprintf(host, hostlen, "%s", ip_buf) >= hostlen)