diff options
| author | riastradh <riastradh@NetBSD.org> | 2023-07-05 22:13:20 +0000 |
|---|---|---|
| committer | riastradh <riastradh@NetBSD.org> | 2023-07-05 22:13:20 +0000 |
| commit | 5b7fb2cc0bc1e6d8ed360dca3fac918bee6f189f (patch) | |
| tree | 958b9deed5c4dc061a47c27cc97925f363c85111 | |
| parent | d5636f05e1c2d92c6c1a7961389edf8017a5d449 (diff) | |
libbsdmalloc: Use a multiply-overflow that clang supports too.
XXX pullup-10
| -rw-r--r-- | lib/libbsdmalloc/malloc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/libbsdmalloc/malloc.c b/lib/libbsdmalloc/malloc.c index 7c01adc8629..fbf5c76da03 100644 --- a/lib/libbsdmalloc/malloc.c +++ b/lib/libbsdmalloc/malloc.c @@ -1,4 +1,4 @@ -/* $NetBSD: malloc.c,v 1.8 2023/07/05 12:08:49 riastradh Exp $ */ +/* $NetBSD: malloc.c,v 1.9 2023/07/05 22:13:20 riastradh Exp $ */ /* * Copyright (c) 1983, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)malloc.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: malloc.c,v 1.8 2023/07/05 12:08:49 riastradh Exp $"); +__RCSID("$NetBSD: malloc.c,v 1.9 2023/07/05 22:13:20 riastradh Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -546,11 +546,10 @@ calloc(size_t nmemb, size_t size) void *p; size_t n; - if (__builtin_mul_overflow_p(nmemb, size, (size_t)0)) { + if (__builtin_mul_overflow(nmemb, size, &n)) { errno = ENOMEM; return NULL; } - n = nmemb * size; p = malloc(n); if (__predict_false(p == NULL)) return NULL; |
