ced555394f
Td4 is an array of u8. A u8 << int promotes the u8 to an int first then shifts. If the mathematical result of a shift (as modelled by lhs * 2^{rhs}) is not representable in an integer, behaviour is undefined. In other words, you can't shift into the sign bit of a signed integer. Fix this by casting to u32 whenever we're shifting left by 24. (For consistency, cast other shifts, too.) Caught by -fsanitize=shift Submitted by Nick Lewycky (Google) (Imported from upstream's 8b37e5c14f0eddb10c7f91ef91004622d90ef361.) Change-Id: Id0f98d1d65738533c6ddcc3c21bc38b569d74793 Reviewed-on: https://boringssl-review.googlesource.com/4040 Reviewed-by: Adam Langley <agl@google.com> |
||
---|---|---|
.. | ||
asm | ||
aes.c | ||
CMakeLists.txt | ||
internal.h | ||
mode_wrappers.c |