Module Name: src
Committed By: riastradh
Date: Wed Jul 5 22:13:20 UTC 2023
Modified Files:
src/lib/libbsdmalloc: malloc.c
Log Message:
libbsdmalloc: Use a multiply-overflow that clang supports too.
XXX pullup-10
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libbsdmalloc/malloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libbsdmalloc/malloc.c
diff -u src/lib/libbsdmalloc/malloc.c:1.8 src/lib/libbsdmalloc/malloc.c:1.9
--- src/lib/libbsdmalloc/malloc.c:1.8 Wed Jul 5 12:08:49 2023
+++ src/lib/libbsdmalloc/malloc.c Wed Jul 5 22:13:20 2023
@@ -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;