Fixed of-by-one error in tor_inet_ntop

The of-by-one error could lead to 1 byte buffer over runs IPv6 for addresses.
This commit is contained in:
Anders Sundman 2011-11-11 07:47:00 +01:00
parent f0589da0e3
commit 01e1dc0e62

View File

@ -1632,7 +1632,7 @@ tor_inet_ntop(int af, const void *src, char *dst, size_t len)
addr->s6_addr[12], addr->s6_addr[13], addr->s6_addr[12], addr->s6_addr[13],
addr->s6_addr[14], addr->s6_addr[15]); addr->s6_addr[14], addr->s6_addr[15]);
} }
if (strlen(buf) > len) if ((strlen(buf) + 1) > len) /* +1 for \0 */
return NULL; return NULL;
strlcpy(dst, buf, len); strlcpy(dst, buf, len);
return dst; return dst;
@ -1673,7 +1673,7 @@ tor_inet_ntop(int af, const void *src, char *dst, size_t len)
} }
} }
*cp = '\0'; *cp = '\0';
if (strlen(buf) > len) if ((strlen(buf) + 1) > len) /* +1 for \0 */
return NULL; return NULL;
strlcpy(dst, buf, len); strlcpy(dst, buf, len);
return dst; return dst;