[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/14] calloc: depend on stdckdint not xalloc-oversized
From: |
Paul Eggert |
Subject: |
[PATCH 01/14] calloc: depend on stdckdint not xalloc-oversized |
Date: |
Mon, 4 Nov 2024 21:43:21 -0800 |
* lib/calloc.c: Include stdckdint.h, xalloc-oversized.h.
(rpl_calloc): Use ckd_mul instead of xalloc_oversized.
* modules/calloc-gnu, modules/calloc-posix:
(Depends-on): Depend on stdckdint, not xalloc-oversized.
---
ChangeLog | 6 ++++++
lib/calloc.c | 6 +++---
modules/calloc-gnu | 2 +-
modules/calloc-posix | 2 +-
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a2b5a45e3e..af6fce7f00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2024-11-04 Paul Eggert <eggert@cs.ucla.edu>
+ calloc: depend on stdckdint not xalloc-oversized
+ * lib/calloc.c: Include stdckdint.h, xalloc-oversized.h.
+ (rpl_calloc): Use ckd_mul instead of xalloc_oversized.
+ * modules/calloc-gnu, modules/calloc-posix:
+ (Depends-on): Depend on stdckdint, not xalloc-oversized.
+
malloc etc. tests: use volatile more consistently
Typically it’s ineffective to use ‘void *volatile p’
when testing malloc and similar functions, as the compiler
diff --git a/lib/calloc.c b/lib/calloc.c
index 81dfd3efb5..801b672078 100644
--- a/lib/calloc.c
+++ b/lib/calloc.c
@@ -23,8 +23,7 @@
#include <stdlib.h>
#include <errno.h>
-
-#include "xalloc-oversized.h"
+#include <stdckdint.h>
/* Call the system's calloc below. */
#undef calloc
@@ -38,7 +37,8 @@ rpl_calloc (size_t n, size_t s)
if (n == 0 || s == 0)
n = s = 1;
- if (xalloc_oversized (n, s))
+ ptrdiff_t signed_n;
+ if (ckd_mul (&signed_n, n, s))
{
errno = ENOMEM;
return NULL;
diff --git a/modules/calloc-gnu b/modules/calloc-gnu
index f3fb393e53..63f498f0d4 100644
--- a/modules/calloc-gnu
+++ b/modules/calloc-gnu
@@ -8,7 +8,7 @@ m4/calloc.m4
Depends-on:
calloc-posix
extensions-aix
-xalloc-oversized [test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1]
+stdckdint [test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1]
configure.ac:
gl_FUNC_CALLOC_GNU
diff --git a/modules/calloc-posix b/modules/calloc-posix
index 5bf5ab8676..e455296d75 100644
--- a/modules/calloc-posix
+++ b/modules/calloc-posix
@@ -7,8 +7,8 @@ m4/calloc.m4
m4/malloc.m4
Depends-on:
+stdckdint [test $REPLACE_CALLOC_FOR_CALLOC_POSIX = 1]
stdlib
-xalloc-oversized [test $REPLACE_CALLOC_FOR_CALLOC_POSIX = 1]
configure.ac:
gl_FUNC_CALLOC_POSIX
--
2.43.0
- [PATCH 01/14] calloc: depend on stdckdint not xalloc-oversized,
Paul Eggert <=
- [PATCH 02/14] malloc-gnu: depend on stdckdint not xalloc-oversized, Paul Eggert, 2024/11/05
- [PATCH 03/14] calloc: configure more like malloc, Paul Eggert, 2024/11/05
- [PATCH 04/14] calloc, malloc: tune a bit, Paul Eggert, 2024/11/05
- [PATCH 05/14] realloc: don’t require success for nongrowth, Paul Eggert, 2024/11/05
- [PATCH 06/14] stdlib: simplify preprocessor conditionals, Paul Eggert, 2024/11/05
- [PATCH 07/14] realloc-posix: realloc (..., 0) now returns nonnull, Paul Eggert, 2024/11/05