Forráskód Böngészése

fix integer underflow in tor_vsnprintf()
(probably exploitable)


svn:r3011

Roger Dingledine 21 éve
szülő
commit
531c060b36
1 módosított fájl, 3 hozzáadás és 1 törlés
  1. 3 1
      src/common/compat.c

+ 3 - 1
src/common/compat.c

@@ -90,12 +90,14 @@ int tor_snprintf(char *str, size_t size, const char *format, ...)
   return r;
 }
 
-/** Replacement for vsnpritnf; behavior differs as tor_snprintf differs from
+/** Replacement for vsnprintf; behavior differs as tor_snprintf differs from
  * snprintf.
  */
 int tor_vsnprintf(char *str, size_t size, const char *format, va_list args)
 {
   int r;
+  if (size == 0)
+    return -1; /* no place for the NUL */
 #ifdef MS_WINDOWS
   r = _vsnprintf(str, size, format, args);
 #else