[Pixman] [PATCH 6/7] Make the argument to fence_malloc() an int64_t

Søren Sandmann sandmann at daimi.au.dk
Tue Dec 14 12:02:16 PST 2010


From: Søren Sandmann Pedersen <ssp at redhat.com>

That way we can detect if someone attempts to allocate a negative size
and abort instead of just returning NULL and segfaulting later.
---
 test/utils.c |    7 +++++--
 test/utils.h |    2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/test/utils.c b/test/utils.c
index cde9c62..6bcc935 100644
--- a/test/utils.c
+++ b/test/utils.c
@@ -232,7 +232,7 @@ typedef struct
 #endif
 
 void *
-fence_malloc (uint32_t len)
+fence_malloc (int64_t len)
 {
     unsigned long page_size = getpagesize();
     unsigned long page_mask = page_size - 1;
@@ -246,12 +246,15 @@ fence_malloc (uint32_t len)
     uint8_t *payload;
     uint8_t *addr;
 
+    if (len < 0)
+	abort();
+    
     addr = mmap (NULL, n_bytes, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS,
 		 -1, 0);
 
     if (addr == MAP_FAILED)
     {
-	printf ("mmap failed on %u %u\n", len, n_bytes);
+	printf ("mmap failed on %lld %u\n", len, n_bytes);
 	return NULL;
     }
 
diff --git a/test/utils.h b/test/utils.h
index 7b33461..abd11ec 100644
--- a/test/utils.h
+++ b/test/utils.h
@@ -57,7 +57,7 @@ image_endian_swap (pixman_image_t *img, int bpp);
  * so that out-of-bounds access will cause segfaults
  */
 void *
-fence_malloc (uint32_t len);
+fence_malloc (int64_t len);
 
 void
 fence_free (void *data);
-- 
1.6.0.6



More information about the Pixman mailing list