David S. Miller [Mon, 2 Apr 2012 21:31:19 +0000 (14:31 -0700)]
Tighten up vfprintf width, precision, and total length overflow handling.
With help from Paul Eggert, Carlos O'Donell, and Roland McGrath.
* stdio-common/printf-parse.h (read_int): Change return type to
'int', return -1 on INT_MAX overflow.
* stdio-common/vfprintf.c (vfprintf): Validate width and precision
against overflow of INT_MAX. Set errno to EOVERFLOW when 'done'
overflows INT_MAX. Check for overflow of in-format-string precision
values properly. Use EOVERFLOW rather than ERANGE throughout. Use
SIZE_MAX not INT_MAX for integer overflow test.
* stdio-common/printf-parsemb.c: If read_int signals an overflow,
skip the construct in the format string but do not record anything.
* stdio-common/bug22.c: Adjust to test both width/prevision
INT_MAX overflow as well as total length INT_MAX overflow. Check
explicitly for proper errno values.
Consider TTL of CNAME record and return minimum TTL in the chain
[BZ #13928] A DNS request consists of multiple resources combined into
a single hostent, including multiple CNAME records that may have been
assigned different TTL values. In such a case, nscd should take the
least TTL among all of the resources as the timeout for the hostent
before it is reloaded in its cache so that the hostent remains stale
in the database for the least amount of time.
Fix a bug when converting strings with 1 character using TCVN5712-1
It isn't necessary to buffer the last character of strings. This can cause a
bug with strings that have 1 character between 0x0041 and 0x01b0.
[BZ #13691]
* iconvdata/tcvn5712-1.c (FROM_LOOP): Fix a bug when converting strings
with only 1 character between 0x0041 and 0x01b0.
* wcsmbs/Makefile (tests): Add tst-mbsnrtowcs.
* wcsmbs/tst-mbsnrtowcs.c: New file.
Jeff Law [Thu, 29 Mar 2012 15:56:27 +0000 (09:56 -0600)]
[BZ #13761]
* nis/nss_compat/compat-initgroups.c (getgrent_next_nss,
_nss_compat_initgroups_dyn): Fall back to malloc/free for
large group memberships.
David S. Miller [Thu, 29 Mar 2012 05:26:38 +0000 (22:26 -0700)]
Do not elide the libc hidden def of sparc's memset/memcpy when multiarching.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Provide a hidden def to
the IFUNC routine in the libc case.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise.
David S. Miller [Thu, 29 Mar 2012 05:22:15 +0000 (22:22 -0700)]
Use generic memset/memcpy in rtld on sparcv9/sparc64.
* sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memset.c: New file.
* sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memcpy.c: New file.
* sysdeps/sparc/sparc32/sparcv9/rtld-memset.c: New file.
* sysdeps/sparc/sparc32/sparcv9/rtld-memcpy.c: New file.
* sysdeps/sparc/sparc64/multiarch/rtld-memset.c: New file.
* sysdeps/sparc/sparc64/multiarch/rtld-memcpy.c: New file.
* sysdeps/sparc/sparc64/rtld-memset.c: New file.
* sysdeps/sparc/sparc64/rtld-memcpy.c: New file.
David S. Miller [Wed, 28 Mar 2012 21:25:42 +0000 (14:25 -0700)]
Make sparc's -fPIC addition to ASFLAGS-.os more robust.
* sysdeps/sparc/Makefile: Add -fPIC to ASFLAGS-.os here....
* sysdeps/sparc/sparc32/Makefile: rather than here...
* sysdeps/sparc/sparc64/Makefile: and here.
Jeff Law [Wed, 28 Mar 2012 16:09:29 +0000 (10:09 -0600)]
[BZ #13760]
* resolv/nss_dns/dns-host.c (gaih_getanswer): Look for errno
in the right place. Discard and retry query if response is
larger than input buffer size.
Andreas Jaeger [Fri, 23 Mar 2012 16:37:32 +0000 (17:37 +0100)]
Move sysdeps/s390/s390-64/elf files
* sysdeps/s390/s390-64/elf/bsd-_setjmp.S: Moved to ...
* sysdeps/s390/s390-64/bsd-_setjmp.S: ... here.
* sysdeps/s390/s390-64/elf/bsd-setjmp.S: Moved to ...
* sysdeps/s390/s390-64/bsd-setjmp.S: ... here.
* sysdeps/s390/s390-64/elf/setjmp.S: Moved to ...
* sysdeps/s390/s390-64/setjmp.S: ... here.
* sysdeps/s390/s390-64/elf/configure.in: Moved to ...
* sysdeps/s390/s390-64/configure.in: ... here
* sysdeps/s390/s390-64/elf/configure: Delete file.
* sysdeps/s390/s390-64/elf/start.S: Moved to ...
* sysdeps/s390/s390-64/start.S: ... here.
* sysdeps/s390/s390-64/elf/configure: Delete.
Andreas Jaeger [Fri, 23 Mar 2012 16:37:31 +0000 (17:37 +0100)]
Move sysdeps/s390/s390-32/elf files
* sysdeps/s390/s390-32/elf/bsd-_setjmp.S: Moved to ...
* sysdeps/s390/s390-32/bsd-_setjmp.S: ... here.
* sysdeps/s390/s390-32/elf/bsd-setjmp.S: Moved to ...
* sysdeps/s390/s390-32/bsd-setjmp.S: ... here.
* sysdeps/s390/s390-32/elf/setjmp.S: Moved to ...
* sysdeps/s390/s390-32/setjmp.S: ... here.
* sysdeps/s390/s390-32/elf/configure.in: Moved to ...
* sysdeps/s390/s390-32/configure.in: ... here.
* sysdeps/s390/s390-32/elf/configure: Delete file.
* sysdeps/s390/s390-32/elf/start.S: Moved to ...
* sysdeps/s390/s390-32/start.S: ... here.
Andreas Jaeger [Wed, 28 Mar 2012 07:25:31 +0000 (09:25 +0200)]
Move sysdeps/powerpc/elf files
* sysdeps/powerpc/elf/ifunc-sel.h: Moved to ...
* sysdeps/powerpc/ifunc-sel.h: ... here.
* sysdeps/powerpc/elf/rtld-global-offsets.sym: Moved to ...
* sysdeps/powerpc/rtld-global-offsets.sym: ... here.
David S. Miller [Tue, 27 Mar 2012 21:25:55 +0000 (14:25 -0700)]
Fix nptl/tst-cond1{6,7,8}.c on 32-bit with many cpus.
* tst-cond16.c (do_test): Use a thread stack size which is either
PTHREAD_STACK_MIN or the page size, whichever is larger.
* tst-cond18.c (do_test): Likewise.