diff options
| author | deraadt <> | 2007-09-02 15:19:18 +0000 | 
|---|---|---|
| committer | deraadt <> | 2007-09-02 15:19:18 +0000 | 
| commit | 4dce4206f0cafd0811f23aedc04a436aa9d145c1 (patch) | |
| tree | 9bdb3d7b5724b183b1a397bf8f071fac1f056834 /src/lib/libc/stdlib/hcreate.c | |
| parent | 7c27b50830c6058e8a7d8f2a3398c9c2f429b9f4 (diff) | |
| download | openbsd-4dce4206f0cafd0811f23aedc04a436aa9d145c1.tar.gz openbsd-4dce4206f0cafd0811f23aedc04a436aa9d145c1.tar.bz2 openbsd-4dce4206f0cafd0811f23aedc04a436aa9d145c1.zip | |
use calloc() to avoid malloc(n * m) overflows; checked by djm canacar jsg
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libc/stdlib/hcreate.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/src/lib/libc/stdlib/hcreate.c b/src/lib/libc/stdlib/hcreate.c index f8df1bcd7c..094f32c173 100644 --- a/src/lib/libc/stdlib/hcreate.c +++ b/src/lib/libc/stdlib/hcreate.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: hcreate.c,v 1.3 2005/10/10 17:37:44 espie Exp $ */ | 1 | /* $OpenBSD: hcreate.c,v 1.4 2007/09/02 15:19:17 deraadt Exp $ */ | 
| 2 | /* $NetBSD: hcreate.c,v 1.5 2004/04/23 02:48:12 simonb Exp $ */ | 2 | /* $NetBSD: hcreate.c,v 1.5 2004/04/23 02:48:12 simonb Exp $ */ | 
| 3 | 3 | ||
| 4 | /* | 4 | /* | 
| @@ -117,7 +117,7 @@ hcreate(size_t nel) | |||
| 117 | 117 | ||
| 118 | /* Allocate the table. */ | 118 | /* Allocate the table. */ | 
| 119 | htablesize = nel; | 119 | htablesize = nel; | 
| 120 | htable = malloc(htablesize * sizeof htable[0]); | 120 | htable = calloc(htablesize, sizeof htable[0]); | 
| 121 | if (htable == NULL) { | 121 | if (htable == NULL) { | 
| 122 | errno = ENOMEM; | 122 | errno = ENOMEM; | 
| 123 | return 0; | 123 | return 0; | 
