On 25/11/16 06:18, Marcel Böhme wrote:
> Dear all,
>
> The following execution is flagged by UBSAN as undefined behaviour:
>
> $ echo 0 > a; printf "%0.s0" {1..58} >> a
> $ ./sort -R a
>
> UBSAN says:
> ../lib/md5.c:371:7: runtime error: load of misaligned address 0x7ffdfd45a10d
> for type 'const uint32_t', which requires 4 byte alignment
>
> So, the root cause might actually be in GNULIB. The bug was found with
> AFLFast, a fork of AFL.
There is some support at least for catering
for architectures where unaligned access is significant.
So for UBSAN we should probably build with
_STRING_ARCH_unaligned defined globally
to avoid warning for the cases we already handle.
cheers,
Pádraig