Comment 15 for bug 1932331

Revision history for this message
Steve Beattie (sbeattie) wrote :

The root issue is likely something in the utf-8 handling code in glibc on arm64 hirsute and impish; the reproducer is:

  bash -c 'i=210; echo -n $(printf "\\$(printf "%03o" $i)") | od -An -t uC'
  210 138

running valgrind in a default environemnt (so LANG=en_US.UTF-8) turned up

==46656== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==46653== Conditional jump or move depends on uninitialised value(s)
==46653== at 0x48EA5EC: utf8_internal_loop (loop.c:336)
==46653== by 0x48EA5EC: __gconv_transform_utf8_internal (skeleton.c:620)
==46653== by 0x494BF57: mbrtowc (mbrtowc.c:86)
==46653== by 0x17FFBB: command_substitute (in /usr/bin/bash)

and running the test with LANG=C results in the trailing artifact (138) to not show up.