[PATCH] build-locale-archive sometimes created empty archives

Carlos O'Donell carlos at redhat.com
Thu Sep 17 14:56:54 UTC 2015


On 09/17/2015 10:54 AM, Mike FABIAN wrote:
> Mike FABIAN <mfabian at redhat.com> さんはかきました:
> 
>>> I imagine that if you ran the old binary through valgrind it would
>>> raise a failure, but the new binary would not. Did you try that?
>>
>> I did not check that, trying it now ...
> 
> Old binary:
> 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo cp /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo valgrind --log-file=valgrind.old  /usr/sbin/build-locale-archive  --install-langs en_US 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo grep -C 5 strncpy valgrind.old 
> ==26164==    by 0x43397C: malloc (in /usr/sbin/build-locale-archive)
> ==26164==    by 0x45B77F: opendir (in /usr/sbin/build-locale-archive)
> ==26164==    by 0x4008B3: main (in /usr/sbin/build-locale-archive)
> ==26164== 
> ==26164== Conditional jump or move depends on uninitialised value(s)
> ==26164==    at 0x456AF3: __strncpy_sse2_unaligned (in /usr/sbin/build-locale-archive)
> ==26164==    by 0x400E22: main (in /usr/sbin/build-locale-archive)
> ==26164== 
> ==26164== Conditional jump or move depends on uninitialised value(s)
> ==26164==    at 0x400E58: main (in /usr/sbin/build-locale-archive)
> ==26164== 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ 
> 
> New binary:
> 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo cp /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo valgrind --log-file=valgrind.new  /usr/sbin/build-locale-archive  --install-langs en_US 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$ sudo grep -C 5 strncpy valgrind.new 
> [mfabian at Fedora-Workstation-netinst-x86_6 ~]$
> 
> So it the fix seems to have helped.
> 

Awesome. Check it in, build it, and pass it to bodhi please :-)

c.


More information about the glibc mailing list