From: Collin Funk Date: Sun, 6 Jul 2025 17:07:35 +0000 (-0700) Subject: pagealign_alloc: Don't assume pointers fit in 'unsigned long'. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5c7974191230a73c67926cb38d8539d9252f942;p=thirdparty%2Fgnulib.git pagealign_alloc: Don't assume pointers fit in 'unsigned long'. * modules/pagealign_alloc (Depends-on): Add stdint-h. * lib/pagealign_alloc.c: Include stdint.h. (pagealign_alloc): Cast pointers to 'uintptr_t' instead of 'unsigned long'. --- diff --git a/ChangeLog b/ChangeLog index c8d09b3dac..286d589d23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2025-07-06 Collin Funk + + pagealign_alloc: Don't assume pointers fit in 'unsigned long'. + * modules/pagealign_alloc (Depends-on): Add stdint-h. + * lib/pagealign_alloc.c: Include stdint.h. + (pagealign_alloc): Cast pointers to 'uintptr_t' instead of 'unsigned + long'. + 2025-07-05 Collin Funk strptime: Convert K&R definitions to ANSI C. diff --git a/lib/pagealign_alloc.c b/lib/pagealign_alloc.c index 3f3fc17169..e460356c3f 100644 --- a/lib/pagealign_alloc.c +++ b/lib/pagealign_alloc.c @@ -26,6 +26,7 @@ #include #include +#include #if HAVE_MMAP # include @@ -159,7 +160,7 @@ pagealign_alloc (size_t size) return NULL; } ret = (char *) unaligned_ptr - + ((- (unsigned long) unaligned_ptr) & (pagesize - 1)); + + ((- (uintptr_t) unaligned_ptr) & (pagesize - 1)); new_memnode (ret, unaligned_ptr); #endif /* HAVE_MMAP && HAVE_POSIX_MEMALIGN */ return ret; diff --git a/modules/pagealign_alloc b/modules/pagealign_alloc index 59afe866de..bd2d8f4cbc 100644 --- a/modules/pagealign_alloc +++ b/modules/pagealign_alloc @@ -17,6 +17,7 @@ open stdlib-h xalloc unistd-h +stdint-h configure.ac: gl_PAGEALIGN_ALLOC