Selaa lähdekoodia

Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2

Conflicts:
	src/common/torint.h
Nick Mathewson 13 vuotta sitten
vanhempi
commit
0130e7c9d2
3 muutettua tiedostoa jossa 9 lisäystä ja 2 poistoa
  1. 5 0
      changes/bug2475
  2. 1 1
      src/common/crypto.c
  3. 3 1
      src/common/torint.h

+ 5 - 0
changes/bug2475

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Avoid signed/unsigned comparisons by making SIZE_T_CEILING unsigned.
+      (None of the cases where we did this before were wrong, but by making
+      this change we can avoid warnings.)  Fixes bug2475; bugfix on
+      Tor 0.2.1.28.

+ 1 - 1
src/common/crypto.c

@@ -523,7 +523,7 @@ crypto_pk_read_private_key_from_string(crypto_pk_env_t *env,
 
   tor_assert(env);
   tor_assert(s);
-  tor_assert(len < INT_MAX && len < SIZE_T_CEILING);
+  tor_assert(len < INT_MAX && len < SSIZE_T_CEILING);
 
   /* Create a read-only memory BIO, backed by the string 's' */
   b = BIO_new_mem_buf((char*)s, (int)len);

+ 3 - 1
src/common/torint.h

@@ -329,8 +329,10 @@ typedef uint32_t uintptr_t;
 #endif
 #endif
 
+/** Any ssize_t larger than this amount is likely to be an underflow. */
+#define SSIZE_T_CEILING ((ssize_t)(SSIZE_T_MAX-16))
 /** Any size_t larger than this amount is likely to be an underflow. */
-#define SIZE_T_CEILING (SSIZE_T_MAX-16)
+#define SIZE_T_CEILING  ((size_t)(SSIZE_T_MAX-16))
 
 #endif /* __TORINT_H */