Fix size value wrap around in AO_malloc_large
authorIvan Maidanski <ivmai@mail.ru>
Mon, 22 Aug 2016 17:12:19 +0000 (20:12 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Mon, 22 Aug 2016 17:15:40 +0000 (20:15 +0300)
commit1033478d414f4ea2d37baeec8af22889652f9973
treee9a0c6190adf77dfa97b8d023ad53b2b60df7524
parenteb6d4fd97ea93729bc36f4a5df33cf63f8dcc4e3
Fix size value wrap around in AO_malloc_large

AO_malloc(SIZE_MAX) should return NULL now.

* src/atomic_ops_malloc.c (SIZET_SAT_ADD): New macro.
* src/atomic_ops_malloc.c (AO_malloc_large): Use SIZET_SAT_ADD to
avoid integer overflow when computing the memory size to map (i.e.,
malloc should handle arguments close to SIZE_MAX correctly).
src/atomic_ops_malloc.c