From 02d861d30480774202b54e941816f9788d01744a Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Tue, 6 Oct 2020 17:31:31 +0200 Subject: [PATCH] skip address read oob in lz4 for now --- common/lz4/lz4.c | 2 ++ common/lz4/lz4.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/common/lz4/lz4.c b/common/lz4/lz4.c index f65fbb71e..7d6e1b356 100644 --- a/common/lz4/lz4.c +++ b/common/lz4/lz4.c @@ -322,6 +322,8 @@ static void LZ4_write32(void *memPtr, U32 value) { *(U32 *)memPtr = value; } typedef union { U16 u16; U32 u32; reg_t uArch; } __attribute__((packed)) unalign; static U16 LZ4_read16(const void *ptr) { return ((const unalign *)ptr)->u16; } +// Tolerate reads on buffer boundary +ATTRIBUTE_NO_SANITIZE_ADDRESS static U32 LZ4_read32(const void *ptr) { return ((const unalign *)ptr)->u32; } static reg_t LZ4_read_ARCH(const void *ptr) { return ((const unalign *)ptr)->uArch; } diff --git a/common/lz4/lz4.h b/common/lz4/lz4.h index 99d3dcfe7..c4ea38094 100644 --- a/common/lz4/lz4.h +++ b/common/lz4/lz4.h @@ -42,6 +42,11 @@ extern "C" { /* --- Dependency --- */ #include /* size_t */ +#if defined(__clang__) || defined (__GNUC__) +# define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) +#else +# define ATTRIBUTE_NO_SANITIZE_ADDRESS +#endif /** Introduction