Note the issue is really in libidn and the reproducer needs libidn-devel (and libidn-debuginfo) installed.
The workaround is to run with --partial-loads-ok=yes
--partial-loads-ok=<yes|no> [default: no]
Controls how Memcheck handles 32-, 64-, 128- and 256-bit naturally
aligned loads from addresses for which some bytes are addressable
and others are not. When yes, such loads do not produce an address
error. Instead, loaded bytes originating from illegal addresses are
marked as uninitialised, and those corresponding to legal addresses
are handled in the normal way.
When no, loads from partially invalid addresses are treated the
same as loads from completely invalid addresses: an illegal-address
error is issued, and the resulting bytes are marked as initialised.
Note that code that behaves in this way is in violation of the ISO
C/C++ standards, and should be considered broken. If at all possible, such code should be fixed. This option should be used
only as a last resort.
Note the issue is really in libidn and the reproducer needs libidn-devel (and libidn-debuginfo) installed.
The workaround is to run with --partial- loads-ok= yes
Controls how Memcheck handles 32-, 64-, 128- and 256-bit naturally
aligned loads from addresses for which some bytes are addressable
and others are not. When yes, such loads do not produce an address
error. Instead, loaded bytes originating from illegal addresses are
marked as uninitialised, and those corresponding to legal addresses
are handled in the normal way.
When no, loads from partially invalid addresses are treated the
same as loads from completely invalid addresses: an illegal-address
error is issued, and the resulting bytes are marked as initialised.
Note that code that behaves in this way is in violation of the ISO
possible, such code should be fixed. This option should be used
C/C++ standards, and should be considered broken. If at all
only as a last resort.