From a8f8ed08cc30656a1228c89e7d0aa9eed95daeb1 Mon Sep 17 00:00:00 2001 From: Marcos Pividori Date: Wed, 8 Feb 2017 00:02:32 +0000 Subject: [PATCH] [libFuzzer] Update Load test to work on 32 bits. We should ensure the size of the variable `a` is 8 bytes. Otherwise, this generates a stack buffer overflow inside the memcpy call in 32 bits machines. (We write more bytes than the size of a, when it is 4 bytes) Differential Revision: https://reviews.llvm.org/D29602 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294378 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Fuzzer/test/LoadTest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Fuzzer/test/LoadTest.cpp b/lib/Fuzzer/test/LoadTest.cpp index c1780d5c7bd..eef16c7be51 100644 --- a/lib/Fuzzer/test/LoadTest.cpp +++ b/lib/Fuzzer/test/LoadTest.cpp @@ -14,7 +14,7 @@ int array[kArraySize]; extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { if (Size < 8) return 0; - size_t a = 0; + uint64_t a = 0; memcpy(&a, Data, 8); Sink = array[a % (kArraySize + 1)]; return 0; -- 2.50.1