2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-08 06:15:23 +00:00

In MD5_native::transform disable sanitizer unsigned integer overflow checks

Wrap-around is intentional and generates false positives
This commit is contained in:
m-holger 2024-07-22 13:11:07 +01:00
parent b3ab5cd216
commit 4f16961052

View File

@ -193,7 +193,12 @@ MD5_native::digest(Digest result)
} }
// MD5 basic transformation. Transforms state based on block. // MD5 basic transformation. Transforms state based on block.
//
// NB The algorithm intentionally relies on unsigned integer wrap-around
void MD5_native::transform(uint32_t state[4], unsigned char block[64]) void MD5_native::transform(uint32_t state[4], unsigned char block[64])
#if defined(__clang__)
__attribute__((no_sanitize("unsigned-integer-overflow")))
#endif
{ {
uint32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16]; uint32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16];