diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-10-16 22:37:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-10-16 22:37:35 +0000 |
commit | 69819d92239d4b8d7519a3cbcff0e2cab5906be3 (patch) | |
tree | 2a3184eb24c8f70c91b69d0ee27b018a25d99844 | |
parent | e2cceb5a74764ee34a2d84c0a875af9e381b99db (diff) | |
download | glibc-69819d92239d4b8d7519a3cbcff0e2cab5906be3.tar.gz glibc-69819d92239d4b8d7519a3cbcff0e2cab5906be3.tar.xz glibc-69819d92239d4b8d7519a3cbcff0e2cab5906be3.zip |
(__tzfile_read): Take extra memory requested by caller into account when copying TZ string.
2007-10-16 Ulrich Drepper <drepper@redhat.com> * time/tzfile.c (__tzfile_read): Take extra memory requested by caller into account when copying TZ string.
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | nptl/sysdeps/pthread/configure | 82 | ||||
-rwxr-xr-x | sysdeps/x86_64/elf/configure | 8 | ||||
-rw-r--r-- | time/tzfile.c | 2 |
4 files changed, 48 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog index 1ada7c63cb..9ffe807ab1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-10-16 Ulrich Drepper <drepper@redhat.com> + + * time/tzfile.c (__tzfile_read): Take extra memory requested by caller + into account when copying TZ string. + 2007-10-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move diff --git a/nptl/sysdeps/pthread/configure b/nptl/sysdeps/pthread/configure index 3cbe55e14f..2396dbf9bc 100755 --- a/nptl/sysdeps/pthread/configure +++ b/nptl/sysdeps/pthread/configure @@ -24,8 +24,8 @@ echo "$as_me: error: CFI directive support in assembler is required" >&2;} fi -echo "$as_me:$LINENO: checking for forced unwind support" >&5 -echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for forced unwind support" >&5 +echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6; } if test "${libc_cv_forced_unwind+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -48,39 +48,36 @@ _Unwind_GetCFA (context) } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then libc_cv_forced_unwind=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -libc_cv_forced_unwind=no + libc_cv_forced_unwind=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 -echo "${ECHO_T}$libc_cv_forced_unwind" >&6 +{ echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 +echo "${ECHO_T}$libc_cv_forced_unwind" >&6; } if test $libc_cv_forced_unwind = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_FORCED_UNWIND 1 @@ -88,8 +85,8 @@ _ACEOF old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror -fexceptions" - echo "$as_me:$LINENO: checking for C cleanup handling" >&5 -echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6 + { echo "$as_me:$LINENO: checking for C cleanup handling" >&5 +echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6; } if test "${libc_cv_c_cleanup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -113,39 +110,36 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then libc_cv_c_cleanup=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -libc_cv_c_cleanup=no + libc_cv_c_cleanup=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 -echo "${ECHO_T}$libc_cv_c_cleanup" >&6 +{ echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 +echo "${ECHO_T}$libc_cv_c_cleanup" >&6; } CFLAGS="$old_CFLAGS" if test $libc_cv_c_cleanup = no; then { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5 diff --git a/sysdeps/x86_64/elf/configure b/sysdeps/x86_64/elf/configure index 24eff6284d..7a2e3004a5 100755 --- a/sysdeps/x86_64/elf/configure +++ b/sysdeps/x86_64/elf/configure @@ -3,8 +3,8 @@ if test "$usetls" != no; then # Check for support of thread-local storage handling in assembler and linker. -echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5 -echo $ECHO_N "checking for x86-64 TLS support... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5 +echo $ECHO_N "checking for x86-64 TLS support... $ECHO_C" >&6; } if test "${libc_cv_x86_64_tls+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -33,8 +33,8 @@ else fi rm -f conftest* fi -echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5 -echo "${ECHO_T}$libc_cv_x86_64_tls" >&6 +{ echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5 +echo "${ECHO_T}$libc_cv_x86_64_tls" >&6; } if test $libc_cv_x86_64_tls = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_TLS_SUPPORT 1 diff --git a/time/tzfile.c b/time/tzfile.c index d16115f8cd..925f95fb78 100644 --- a/time/tzfile.c +++ b/time/tzfile.c @@ -264,7 +264,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap) zone_names = (char *) types + num_types * sizeof (struct ttinfo); leaps = (struct leap *) ((char *) transitions + leaps_idx); if (trans_width == 8) - tzspec = (char *) leaps + num_leaps * sizeof (struct leap); + tzspec = (char *) leaps + num_leaps * sizeof (struct leap) + extra; else tzspec = NULL; if (extra > 0) |