From 706186d266d45c161f9dad3ec1851c78017bc1de Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Tue, 3 Nov 2015 05:30:29 -0500 Subject: [PATCH] fix PTRDIFF_MAX check in the 32-bit mmap wrapper It wasn't making use of the page-rounded size. Change-Id: I911345fcfd6419a4dbc18a4622b42e1b76729abb --- libc/bionic/mmap.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libc/bionic/mmap.cpp b/libc/bionic/mmap.cpp index 794f50ffa..9bc80a27e 100644 --- a/libc/bionic/mmap.cpp +++ b/libc/bionic/mmap.cpp @@ -48,7 +48,7 @@ void* mmap64(void* addr, size_t size, int prot, int flags, int fd, off64_t offse // prevent allocations large enough for `end - start` to overflow size_t rounded = BIONIC_ALIGN(size, PAGE_SIZE); - if (rounded < size || size > PTRDIFF_MAX) { + if (rounded < size || rounded > PTRDIFF_MAX) { errno = ENOMEM; return MAP_FAILED; }