From: Bruno Haible Date: Mon, 12 Aug 2019 01:05:48 +0000 (+0200) Subject: Drop our xalloc_oversized macro in favour of gnulib's xalloc_oversized macro. X-Git-Tag: v0.21~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a4495f84f0291f66fb230ab7afa1ee7d47e89e0;p=thirdparty%2Fgettext.git Drop our xalloc_oversized macro in favour of gnulib's xalloc_oversized macro. * gnulib-local/lib/xalloc.h: Include xalloc-oversized.h. (xalloc_oversized): Remove macro. * gnulib-local/modules/xalloc (Depends-on): Add 'xalloc-oversized'. --- diff --git a/gnulib-local/lib/xalloc.h b/gnulib-local/lib/xalloc.h index c4ba23c41..e4fb28866 100644 --- a/gnulib-local/lib/xalloc.h +++ b/gnulib-local/lib/xalloc.h @@ -1,5 +1,5 @@ /* malloc with out of memory checking. - Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2019 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -20,6 +20,8 @@ #include +#include "xalloc-oversized.h" + #ifdef __cplusplus extern "C" { @@ -134,22 +136,6 @@ extern "C" { extern char *xstrdup (const char *string); -/* Return 1 if an array of N objects, each of size S, cannot exist due - to size arithmetic overflow. S must be positive and N must be - nonnegative. This is a macro, not an inline function, so that it - works correctly even when SIZE_MAX < N. - - By gnulib convention, SIZE_MAX represents overflow in size - calculations, so the conservative dividend to use here is - SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. - However, malloc (SIZE_MAX) fails on all known hosts where - sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for - exactly-SIZE_MAX allocations on such hosts; this avoids a test and - branch when S is known to be 1. */ -# define xalloc_oversized(n, s) \ - ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) - - #ifdef __cplusplus } #endif diff --git a/gnulib-local/modules/xalloc b/gnulib-local/modules/xalloc index 7a5b5866c..56734b9fa 100644 --- a/gnulib-local/modules/xalloc +++ b/gnulib-local/modules/xalloc @@ -10,6 +10,7 @@ Depends-on: error gettext-h stdlib +xalloc-oversized configure.ac: