From d54bb9b1d3fd25779fba2c403003c5097ba9af73 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Mon, 26 Jun 2017 09:55:41 -0300 Subject: Prevent an implicit int promotion in malloc/tst-alloc_buffer.c According to ISO C11, section 6.5.3.3 "Unary arithmetic operators", the result of the ~ operator is the bitwise complement of its (promoted) operand. This can lead to a comparison of a char with another integer type. Tested on powerpc, powerpc64 and powerpc64le. * malloc/tst-alloc_buffer.c (test_misaligned): Cast to char before comparing with another char. --- malloc/tst-alloc_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'malloc') diff --git a/malloc/tst-alloc_buffer.c b/malloc/tst-alloc_buffer.c index 1c14399..9b2bd20 100644 --- a/malloc/tst-alloc_buffer.c +++ b/malloc/tst-alloc_buffer.c @@ -429,7 +429,7 @@ test_misaligned (char pad) } /* Verify that padding was not overwritten. */ - TEST_VERIFY (backing[0] == ~pad); + TEST_VERIFY (backing[0] == (char) ~pad); TEST_VERIFY (backing[SIZE + 1] == pad); free (backing); } -- cgit v1.1