__sanitizer_unaligned_loadXX simply loads origin at (((uptr)p) & ~3UL).
This is wrong in the following case:
shadow [00 00 00 00] [00 ff ff ff]
origin [ A ] [ B ]
Unaligned load at offset 2, size 4, would return shadow [00 00 00 ff], origin
A, which does not make sense. It must return origin B.
Original issue reported on code.google.com by euge...@google.com on 1 Apr 2014 at 12:56
Original issue reported on code.google.com by
euge...@google.com
on 1 Apr 2014 at 12:56