]> git.ipfire.org Git - thirdparty/gnulib.git/commitdiff
pagealign_alloc: Don't assume pointers fit in 'unsigned long'.
authorCollin Funk <collin.funk1@gmail.com>
Sun, 6 Jul 2025 17:07:35 +0000 (10:07 -0700)
committerCollin Funk <collin.funk1@gmail.com>
Sun, 6 Jul 2025 17:07:35 +0000 (10:07 -0700)
* 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'.

ChangeLog
lib/pagealign_alloc.c
modules/pagealign_alloc

index c8d09b3dac138c65190a64c1378486035917b538..286d589d23d042c9c68a63034de98bf2249fec63 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2025-07-06  Collin Funk  <collin.funk1@gmail.com>
+
+       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  <collin.funk1@gmail.com>
 
        strptime: Convert K&R definitions to ANSI C.
index 3f3fc1716956ac8e67452e62404d0a0674e2b1ec..e460356c3f78c2d4dabce8852e1ada11a00cdb6a 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <fcntl.h>
 #include <unistd.h>
+#include <stdint.h>
 
 #if HAVE_MMAP
 # include <sys/mman.h>
@@ -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;
index 59afe866de924c92d2fe667eaab281df39cf054d..bd2d8f4cbc27d9b55e1b2141c3923aa9d1238789 100644 (file)
@@ -17,6 +17,7 @@ open
 stdlib-h
 xalloc
 unistd-h
+stdint-h
 
 configure.ac:
 gl_PAGEALIGN_ALLOC