summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-04-27 22:14:28 -0400
committerNick Mathewson <nickm@torproject.org>2011-04-27 22:14:28 -0400
commit0130e7c9d2842ad58e1b84829aeab16a2efba3bb (patch)
treec85e068a47b3668c714d24d80b839ddf7bad6a97
parent7f85509a59b88173ac6060cd5925e28415f016b4 (diff)
parent43ffd023e9267927539dc9c12bee86199cd1c800 (diff)
downloadtor-0130e7c9d2842ad58e1b84829aeab16a2efba3bb.tar.gz
tor-0130e7c9d2842ad58e1b84829aeab16a2efba3bb.zip
Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2
Conflicts: src/common/torint.h
-rw-r--r--changes/bug24755
-rw-r--r--src/common/crypto.c2
-rw-r--r--src/common/torint.h4
3 files changed, 9 insertions, 2 deletions
diff --git a/changes/bug2475 b/changes/bug2475
new file mode 100644
index 0000000000..d6f0595a59
--- /dev/null
+++ b/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.
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 2ef40c29c7..8d17a3daee 100644
--- a/src/common/crypto.c
+++ b/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);
diff --git a/src/common/torint.h b/src/common/torint.h
index f5bebf8b9d..0b5c29adc0 100644
--- a/src/common/torint.h
+++ b/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 */