diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | fedora/glibc.spec.in | 10 | ||||
-rw-r--r-- | posix/fnmatch_loop.c | 3 | ||||
-rw-r--r-- | stdlib/strtod_l.c | 16 | ||||
-rw-r--r-- | time/tst-mktime2.c | 1 |
5 files changed, 29 insertions, 14 deletions
@@ -1,3 +1,14 @@ +2004-11-29 Jakub Jelinek <jakub@redhat.com> + + * stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2 + and numsize < densize, always shift num up by empty + 1 + limbs. + + * posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after + normal_bracket label. + + * time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1. + 2004-11-29 Roland McGrath <roland@redhat.com> * posix/confstr.c: Avoid punctuation in #error text. @@ -51,8 +62,6 @@ 2004-11-26 Jakub Jelinek <jakub@redhat.com> - * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR. - * posix/Makefile (generated: Add getconf.speclist. ($(inst_libexecdir)/getconf): Use getconf.speclist instead of getconf output. diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index d27fe6e4f2..fa2c6ccc50 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 85 +%define glibcrelease 86 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64 @@ -1258,6 +1258,14 @@ rm -f *.filelist* %endif %changelog +* Tue Nov 30 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-86 +- update from CVS + - some posix_opt.h fixes +- fix strtold use of unitialized memory (#141000) +- some more bugfixes for bugs detected by valgrind +- rebuilt with GCC >= 3.4.3-5 to avoid packed stack layout + on s390{,x} (#139678) + * Fri Nov 26 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-85 - update from CVS - support -v specification in getconf diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c index fb56bd426b..449e5e02b4 100644 --- a/posix/fnmatch_loop.c +++ b/posix/fnmatch_loop.c @@ -600,6 +600,9 @@ FCT (pattern, string, string_end, no_leading_period, flags) if (!is_range && c == fn) goto matched; + /* This is needed if we goto normal_bracket; from + outside of is_seqval's scope. */ + is_seqval = 0; cold = c; c = *p++; } diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c index dce65cb83c..a656789f4c 100644 --- a/stdlib/strtod_l.c +++ b/stdlib/strtod_l.c @@ -1442,15 +1442,10 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) if (numsize < densize) { mp_size_t empty = densize - numsize; + register int i; if (bits <= 0) - { - register int i; - for (i = numsize; i > 0; --i) - num[i + empty] = num[i - 1]; - MPN_ZERO (num, empty + 1); - exponent -= empty * BITS_PER_MP_LIMB; - } + exponent -= empty * BITS_PER_MP_LIMB; else { if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG) @@ -1459,7 +1454,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) cannot optimize the `else' case that good and this reflects all currently used FLOAT types and GMP implementations. */ - register int i; #if RETURN_LIMB_SIZE <= 2 assert (empty == 1); __mpn_lshift_1 (retval, RETURN_LIMB_SIZE, @@ -1470,9 +1464,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) while (i >= 0) retval[i--] = 0; #endif - for (i = numsize; i > 0; --i) - num[i + empty] = num[i - 1]; - MPN_ZERO (num, empty + 1); } else { @@ -1492,6 +1483,9 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) } bits += empty * BITS_PER_MP_LIMB; } + for (i = numsize; i > 0; --i) + num[i + empty] = num[i - 1]; + MPN_ZERO (num, empty + 1); } else { diff --git a/time/tst-mktime2.c b/time/tst-mktime2.c index fe7c370928..6279218cba 100644 --- a/time/tst-mktime2.c +++ b/time/tst-mktime2.c @@ -78,6 +78,7 @@ bigtime_test (int j) struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; + tm.tm_isdst = -1; now = mktime (&tm); if (now != (time_t) -1) { |