From: Wouter Wijngaards Date: Fri, 20 Mar 2015 16:03:14 +0000 (+0000) Subject: Do not divide by zero. X-Git-Tag: release-1.5.4~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd2e99dafdb0cf875abc7b977a185b8c38269f9b;p=thirdparty%2Funbound.git Do not divide by zero. git-svn-id: file:///svn/unbound/trunk@3374 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/util/alloc.c b/util/alloc.c index a23c6d57e..66bdc7db9 100644 --- a/util/alloc.c +++ b/util/alloc.c @@ -369,7 +369,7 @@ void *unbound_stat_calloc(size_t nmemb, size_t size) { size_t s; void* res; - if(INT_MAX/nmemb < size) + if(nmemb != 0 && INT_MAX/nmemb < size) return NULL; /* integer overflow check */ s = (nmemb*size==0)?(size_t)1:nmemb*size; res = calloc(1, s+16); @@ -509,7 +509,7 @@ void *unbound_stat_calloc_lite(size_t nmemb, size_t size, const char* file, { size_t req; void* res; - if(INT_MAX/nmemb < size) + if(nmemb != 0 && INT_MAX/nmemb < size) return NULL; /* integer overflow check */ req = nmemb * size; res = malloc(req+lite_pad*2+sizeof(size_t));