[tor-commits] [tor/master] Fixed of-by-one error in tor_inet_ntop

nickm at torproject.org nickm at torproject.org
Fri Nov 11 16:08:45 UTC 2011


commit 01e1dc0e6227a8d7e107e41cf19ac9c68d47e7b7
Author: Anders Sundman <anders at 4zm.org>
Date:   Fri Nov 11 07:47:00 2011 +0100

    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.
---
 src/common/compat.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/common/compat.c b/src/common/compat.c
index 2cf7f46..ba49af7 100644
--- a/src/common/compat.c
+++ b/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;





More information about the tor-commits mailing list