mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-09 19:51:36 +01:00
This patch adds the ability to read from a wrapping memory area (ie: buffers). The new functions are called "readv_<type>". The original ones were renamed to start with "read_" to make the difference more obvious between the read method and the returned type. It's worth noting that the memory barrier in readv_bytes() is critical, as otherwise gcc decides that it doesn't need the resulting data, but even worse, removes the length checks in readv_u64() and happily performs an out-of-bounds unaligned read using read_u64()! Such "optimizations" are a bit borderline, especially when they impact security like this...