d53b2c3c88
Windows x64 uses the IL32P64 data model, which means that unsigned int is 32 bits and size_t is 64 bits. Previously, the expression |~(alignment - 1)| resulted in the 32-bit value 0xFFFFFFF0, which was then extended to the 64-bit value 0x00000000FFFFFFF0 when promoted to size_t. When the input pointer was masked with this value, the result was a pointer that was usually way outside the boundaries of the array. The new code casts |alignment| to size_t first prior to the bitwise negation, resulting in the correct mask value of 0xFFFFFFFFFFFFFFF0. Change-Id: I04754aa9e1ce7a615c2b4c74051cfcca38dbb52f Reviewed-on: https://boringssl-review.googlesource.com/3961 Reviewed-by: Adam Langley <agl@google.com> |
||
---|---|---|
.. | ||
args.cc | ||
client.cc | ||
CMakeLists.txt | ||
const.cc | ||
digest.cc | ||
internal.h | ||
pkcs12.cc | ||
server.cc | ||
speed.cc | ||
tool.cc | ||
transport_common.cc | ||
transport_common.h |