From 1fbbf0e8371f4fae339b007b086ed1be176e7b83 Mon Sep 17 00:00:00 2001 From: sg Date: Fri, 4 Sep 2015 21:12:39 +0200 Subject: [PATCH] lwip_getaddrinfo: check max name length --- src/api/netdb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/api/netdb.c b/src/api/netdb.c index 1ba7113e..c25e71b9 100644 --- a/src/api/netdb.c +++ b/src/api/netdb.c @@ -349,6 +349,10 @@ lwip_getaddrinfo(const char *nodename, const char *servname, total_size = sizeof(struct addrinfo) + sizeof(struct sockaddr_in); if (nodename != NULL) { namelen = strlen(nodename); + if (namelen > DNS_MAX_NAME_LENGTH) { + /* invalid name length */ + return EAI_FAIL; + } LWIP_ASSERT("namelen is too long", (namelen + 1) <= (mem_size_t)-1); total_size += namelen + 1; }