summaryrefslogtreecommitdiff
path: root/modules/safe-alloc
Commit message (Collapse)AuthorAgeFilesLines
* Use the 'extern-inline' module explicitly where needed.Bruno Haible2023-04-031-0/+1
| | | | | | | | | | | | * modules/fdutimensat (Depends-on): Add extern-inline. * modules/file-has-acl (Depends-on): Likewise. * modules/hamt (Depends-on): Likewise. * modules/relocatable-prog-wrapper (Depends-on): Likewise. * modules/safe-alloc (Depends-on): Likewise. * modules/string-desc (Depends-on): Likewise. * modules/string-desc-quotearg (Depends-on): Likewise. * modules/xstring-desc (Depends-on): Likewise. * modules/xvasprintf (Depends-on): Likewise.
* safe-alloc: fix pointer implementationPaul Eggert2021-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | The old implementation assumed that all pointers use the same internal representation, but the C standard doesn’t guarantee this. Use void * (pointer) not void ** (pointer-to-pointer) for the internal functions’ API. The internal functions now return NULL if and only if they failed, and the macros translate that into -1 or 0 to satisfy the existing API. * doc/safe-alloc.texi (Safe Allocation Macros): Mention overflow. * lib/safe-alloc.c: Major rewrite. Now this simply defines SAFE_ALLOC_INLINE and includes safe-alloc.h. * lib/safe-alloc.h: Include stddef.h, not stdlib.h. (SAFE_ALLOC_INLINE): New macro; use Gnulib inline function style. (safe_alloc_realloc_n): New API, which passes and returns the pointer, and which returns NULL if and only if failure occurs. (safe_alloc_check): New function. (ALLOC, ALLOC_N, ALLOC_N_UNINITIALIZED, REALLOC_N): Redo using the new API for internal functions, and using calloc which is good enough since it’s GNU-compatible now. (FREE): Expand to an expression rather than merely to something that needs a following ‘;’ to become a statement. * modules/safe-alloc (Depends-on): Add calloc-gnu.
* safe-alloc: simplify via reallocarrayPaul Eggert2021-04-181-1/+1
| | | | | | | | | | | * lib/safe-alloc.c: Do not include xalloc-oversized.h. (safe_alloc_alloc_n, safe_alloc_realloc_n): Use reallocarray to check for size or ptrdiff_t overflow. * modules/reallocarray (License): Switch from LGPL to LGPLv2+, as this is needed for safe-alloc and anyway is more appropriate for this library function common with BSD. * modules/safe-alloc (Depends-on): Depend on reallocarray rather than xalloc-oversized.
* safe-alloc: use xalloc-oversizedPaul Eggert2016-12-151-0/+3
| | | | | | * lib/safe-alloc.c: Include xalloc-oversized.h. (safe_alloc_oversized): Remove. All uses changed to xalloc_oversized. * modules/safe-alloc (Depends-on): Add xalloc-oversized.
* safe-alloc: Move AC_LIBOBJ invocations to module description.Bruno Haible2011-06-161-0/+1
| | | | | * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation. * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
* New module 'safe-alloc'.David Lutterkort2009-02-211-0/+21