diff --git a/src/huge.c b/src/huge.c index d1a95862..a7993f85 100644 --- a/src/huge.c +++ b/src/huge.c @@ -298,7 +298,7 @@ huge_ralloc_no_move(void *ptr, size_t oldsize, size_t size, size_t extra, * the new size. */ if (CHUNK_CEILING(oldsize) >= CHUNK_CEILING(usize) - && CHUNK_CEILING(oldsize) <= CHUNK_CEILING(size+extra)) { + && CHUNK_CEILING(oldsize) <= CHUNK_CEILING(s2u(size+extra))) { huge_ralloc_no_move_similar(ptr, oldsize, usize, size, extra, zero); return (false); diff --git a/test/integration/rallocx.c b/test/integration/rallocx.c index b6980729..8b6cde31 100644 --- a/test/integration/rallocx.c +++ b/test/integration/rallocx.c @@ -55,8 +55,9 @@ validate_fill(const void *p, uint8_t c, size_t offset, size_t len) for (i = 0; i < len; i++) { uint8_t b = buf[offset+i]; if (b != c) { - test_fail("Allocation at %p contains %#x rather than " - "%#x at offset %zu", p, b, c, offset+i); + test_fail("Allocation at %p (len=%zu) contains %#x " + "rather than %#x at offset %zu", p, len, b, c, + offset+i); ret = true; } }