aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--malloc/malloc.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ae69ec5a3e..cf5e3394d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
+2002-08-07 Jakub Jelinek <jakub@redhat.com>
+
+ * malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before
+ division.
+
2002-08-06 Roland McGrath <roland@redhat.com>
- * include/getopt.h: But private decls inside [_GETOPT_H].
+ * include/getopt.h: Put private decls inside [_GETOPT_H].
Use libc_hidden_proto for getopt_long, getopt_long_only.
* posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
Add libc_hidden_def.
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 685514900c..b6fd367f8b 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -3474,7 +3474,7 @@ public_cALLOc(size_t n, size_t elem_size)
#define HALF_INTERNAL_SIZE_T \
(((INTERNAL_SIZE_T) 1) << (8 * sizeof (INTERNAL_SIZE_T) / 2))
if (__builtin_expect ((n | elem_size) >= HALF_INTERNAL_SIZE_T, 0)) {
- if (bytes / elem_size != n) {
+ if (elem_size != 0 && bytes / elem_size != n) {
MALLOC_FAILURE_ACTION;
return 0;
}