aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-04-26 13:00:46 -0400
committerNick Mathewson <nickm@torproject.org>2011-04-26 13:03:58 -0400
commit43ffd023e9267927539dc9c12bee86199cd1c800 (patch)
treea1eb428d7470f916154bec88ec5539892ab75aa1 /src/common
parente98583594d897ac32745061143e565c6f4b45f97 (diff)
downloadtor-43ffd023e9267927539dc9c12bee86199cd1c800.tar
tor-43ffd023e9267927539dc9c12bee86199cd1c800.tar.gz
Make SIZE_T_CEILING unsigned; add a signed SSIZE_T_CEILING
None of the comparisons were _broken_ previously, but avoiding signed/unsigned comparisons makes everybody happier. Fixes bug2475.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/crypto.c2
-rw-r--r--src/common/torint.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 48c8dea08..838347e20 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -452,7 +452,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 2a9fba6fc..d48968465 100644
--- a/src/common/torint.h
+++ b/src/common/torint.h
@@ -330,8 +330,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 */