diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | malloc/malloc.c | 2 |
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; } |