Преглед на файлове

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.
Anders Sundman преди 14 години
родител
ревизия
01e1dc0e62
променени са 1 файла, в които са добавени 2 реда и са изтрити 2 реда
  1. 2 2
      src/common/compat.c

+ 2 - 2
src/common/compat.c

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