From 5b7fb2cc0bc1e6d8ed360dca3fac918bee6f189f Mon Sep 17 00:00:00 2001 From: riastradh Date: Wed, 5 Jul 2023 22:13:20 +0000 Subject: libbsdmalloc: Use a multiply-overflow that clang supports too. XXX pullup-10 --- lib/libbsdmalloc/malloc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib/libbsdmalloc') 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; -- cgit