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;

Reply via email to