https://bugs.kde.org/show_bug.cgi?id=401627

            Bug ID: 401627
           Summary: memcheck errors with glibc avx2 optimized wcsncmp
           Product: valgrind
           Version: unspecified
          Platform: Other
               URL: https://bugzilla.redhat.com/show_bug.cgi?id=1645971
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: m...@klomp.org
  Target Milestone: ---

With glibc 2.28 on an avx2 capable machine the wcsncmp function will produce
the following error under valgrind:

==3667== Invalid read of size 32
==3667==    at 0x4F9CD61: __wcsncmp_avx2 (in /usr/lib64/libc-2.28.so)
==3667==    by 0x400A33: main (wcs.c:22)
==3667==  Address 0x5201110 is 208 bytes inside a block of size 216 alloc'd
==3667==    at 0x4C30E4B: malloc (vg_replace_malloc.c:299)
==3667==    by 0x4009CA: main (wcs.c:18)
==3667== 
==3667== Invalid read of size 32
==3667==    at 0x4F9CD66: __wcsncmp_avx2 (in /usr/lib64/libc-2.28.so)
==3667==    by 0x400A33: main (wcs.c:22)
==3667==  Address 0x5201130 is 16 bytes after a block of size 224 in arena
"client"
==3667== 
==3667== Conditional jump or move depends on uninitialised value(s)
==3667==    at 0x4F9CE21: __wcsncmp_avx2 (in /usr/lib64/libc-2.28.so)
==3667==    by 0x400A33: main (wcs.c:22)
==3667== 


This probably comes from the following glibc commit
glibc-2.27.9000-436-g1457016:

commit 1457016337072d1b6739f571846b619596990cb7
Author: Leonardo Sandoval <leonardo.sandoval.gonza...@linux.intel.com>
Date:   Thu May 3 11:09:30 2018 -0500

    x86-64: Optimize strcmp/wcscmp and strncmp/wcsncmp with AVX2

strcmp, wcscmp and strncmp have overrides in valgrind
shared/vg_replace_strmem.c.
But wcsncmp doesn't.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to