aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorMansour Moufid <mansourmoufid@gmail.com>2011-09-19 21:25:23 -0400
committerNick Mathewson <nickm@torproject.org>2011-09-20 09:52:44 -0400
commit1ba90ab655fab036f00ba0185ca7b456612a12bd (patch)
treefcb80ee0b3ed200910ac4fd25bd87075e5fdc550 /src/common
parentac7b6c508dca24a256abc30b4ecaf21019569a38 (diff)
downloadtor-1ba90ab655fab036f00ba0185ca7b456612a12bd.tar
tor-1ba90ab655fab036f00ba0185ca7b456612a12bd.tar.gz
Fix a potentially useless integer overflow check.
GCC 4.2 and maybe other compilers optimize away unsigned integer overflow checks of the form (foo + bar < foo), for all bar. Fix one such check in `src/common/OpenBSD_malloc_Linux.c'.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/OpenBSD_malloc_Linux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common/OpenBSD_malloc_Linux.c b/src/common/OpenBSD_malloc_Linux.c
index 19dac7765..445135c6b 100644
--- a/src/common/OpenBSD_malloc_Linux.c
+++ b/src/common/OpenBSD_malloc_Linux.c
@@ -1236,7 +1236,7 @@ imalloc(size_t size)
ptralloc = 1;
size = malloc_pagesize;
}
- if ((size + malloc_pagesize) < size) { /* Check for overflow */
+ if (size > SIZE_MAX - malloc_pagesize) { /* Check for overflow */
result = NULL;
errno = ENOMEM;
} else if (size <= malloc_maxsize)