summaryrefslogtreecommitdiff
path: root/modules/reallocarray
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2021-04-24 10:45:45 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2021-04-24 10:47:40 -0700
commita7477abe2943c73bf23f39da2b706ea338d1c9b3 (patch)
treef72f501606ee663d311db129da10fcf1f1afce15 /modules/reallocarray
parente25cfaa3b59d3d7d8435e9e164a7f92e92c3f64d (diff)
downloadgnulib-a7477abe2943c73bf23f39da2b706ea338d1c9b3.tar.gz
reallocarray: check for ptrdiff_t overflow
* doc/glibc-functions/reallocarray.texi (reallocarray): Mention ptrdiff_t overflow. * lib/reallocarray.c (reallocarray): Reindent as per usual GNU. * lib/stdlib.in.h (reallocarray): Allow reallocarray to be replaced. * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Check for ptrdiff_t overflow. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set up REPLACE_REALLOCARRAY. * modules/reallocarray (Files): Add malloc.m4. (configure.ac): Also test REPLACE_REALLOCARRAY. * modules/reallocarray-tests (Depends-on): Add stdint. * modules/stdlib (stdlib.h): Substitute REPLACE_REALLOCARRAY. * tests/test-reallocarray.c: Include stdint.h. (main): Check for ptrdiff_t overflow.
Diffstat (limited to 'modules/reallocarray')
-rw-r--r--modules/reallocarray3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/reallocarray b/modules/reallocarray
index a64c6fd2d0..6d762c157a 100644
--- a/modules/reallocarray
+++ b/modules/reallocarray
@@ -3,6 +3,7 @@ reallocarray function that is glibc compatible.
Files:
lib/reallocarray.c
+m4/malloc.m4
m4/reallocarray.m4
Depends-on:
@@ -13,7 +14,7 @@ stdlib
configure.ac:
gl_FUNC_REALLOCARRAY
-if test $HAVE_REALLOCARRAY = 0; then
+if test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1; then
AC_LIBOBJ([reallocarray])
gl_PREREQ_REALLOCARRAY
fi