Skip to content

Commit

Permalink
liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address…
Browse files Browse the repository at this point in the history
…__)).

Thanks to Agostino Sarubbo.
Fixes: #62
  • Loading branch information
Larhzu committed Sep 14, 2023
1 parent 7379bb3 commit 4f44ef8
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/liblzma/check/crc64_fast.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,14 @@ calc_hi(uint64_t poly, uint64_t a)
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__)
__attribute__((__target__("ssse3,sse4.1,pclmul")))
#endif
// The intrinsics use 16-byte-aligned reads from buf, thus they may read
// up to 15 bytes before or after the buffer (depending on the alignment
// of the buf argument). The values of the extra bytes are ignored.
// This unavoidably trips -fsanitize=address so address sanitizier has
// to be disabled for this function.
#if lzma_has_attribute(__no_sanitize_address__)
__attribute__((__no_sanitize_address__))
#endif
static uint64_t
crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
{
Expand Down

0 comments on commit 4f44ef8

Please sign in to comment.