Skip to content

Commit

Permalink
Fix calloc() overflow
Browse files Browse the repository at this point in the history
* malloc.c (calloc): Check multiplication overflow in calloc(),
assuming REDIRECT_MALLOC.
  • Loading branch information
xiw authored and ivmai committed Mar 15, 2012
1 parent a268866 commit e10c1eb
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions malloc.c
Expand Up @@ -372,8 +372,13 @@ void * malloc(size_t lb)
}
#endif /* GC_LINUX_THREADS */

#ifndef SIZE_MAX
#define SIZE_MAX (~(size_t)0)
#endif
void * calloc(size_t n, size_t lb)
{
if (lb && n > SIZE_MAX / lb)
return NULL;
# if defined(GC_LINUX_THREADS) /* && !defined(USE_PROC_FOR_LIBRARIES) */
/* libpthread allocated some memory that is only pointed to by */
/* mmapped thread stacks. Make sure it's not collectable. */
Expand Down

0 comments on commit e10c1eb

Please sign in to comment.