glibc/sysdeps/ieee754/ldbl-opt
Maciej W. Rozycki 0a8e7ac95c stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701]
Reject invalid formatted scanf real input data the exponent part of
which is comprised of an exponent introducing character, optionally
followed by a sign, and with no actual digits following.  Such data is a
prefix of, but not a matching input sequence and it is required by ISO C
to cause a matching failure.

Currently a matching success is instead incorrectly produced along with
the conversion result according to the input significand read and the
exponent of zero, with the significand and the exponent part wholly
consumed from input.

Correct an invalid `tstscanf.c' test accordingly that expects a matching
success for input data provided in the ISO C standard as an example for
a matching failure.

Enable input data that causes test failures without this fix in place.

Reviewed-by: Joseph Myers <josmyers@redhat.com>
2025-03-28 12:35:53 +00:00
..
bits Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Makefile Implement C23 pown 2025-03-27 10:44:44 +00:00
Versions
configure Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
configure.ac
libm-alias-double.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libm-alias-ldouble.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math_ldbl_opt.c
math_ldbl_opt.h
nldbl-acos.c
nldbl-acosh.c
nldbl-acospi.c Implement C23 acospi 2024-12-09 23:01:29 +00:00
nldbl-asin.c
nldbl-asinh.c
nldbl-asinpi.c Implement C23 asinpi 2024-12-10 20:42:20 +00:00
nldbl-asprintf.c
nldbl-asprintf_chk.c
nldbl-atan.c
nldbl-atan2.c
nldbl-atan2pi.c Implement C23 atan2pi 2024-12-12 20:57:44 +00:00
nldbl-atanh.c
nldbl-atanpi.c Implement C23 atanpi 2024-12-11 21:51:49 +00:00
nldbl-cabs.c
nldbl-cacos.c
nldbl-cacosh.c
nldbl-canonicalize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-carg.c
nldbl-casin.c
nldbl-casinh.c
nldbl-catan.c
nldbl-catanh.c
nldbl-cbrt.c
nldbl-ccos.c
nldbl-ccosh.c
nldbl-ceil.c
nldbl-cexp.c
nldbl-cimag.c
nldbl-clog.c
nldbl-clog10.c
nldbl-compat.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-compat.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-conj.c
nldbl-copysign.c
nldbl-cos.c
nldbl-cosh.c
nldbl-cospi.c Implement C23 cospi 2024-12-04 10:20:44 +00:00
nldbl-cpow.c
nldbl-cproj.c
nldbl-creal.c
nldbl-csin.c
nldbl-csinh.c
nldbl-csqrt.c
nldbl-ctan.c
nldbl-ctanh.c
nldbl-dadd.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-ddiv.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-dfma.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-dmul.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-dprintf.c
nldbl-dprintf_chk.c
nldbl-dsqrt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-dsub.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-erf.c
nldbl-erfc.c
nldbl-exp.c
nldbl-exp2.c
nldbl-exp2m1.c Implement C23 exp2m1, exp10m1 2024-06-17 16:31:49 +00:00
nldbl-exp10.c
nldbl-exp10m1.c Implement C23 exp2m1, exp10m1 2024-06-17 16:31:49 +00:00
nldbl-expm1.c
nldbl-fabs.c
nldbl-fadd.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fdim.c
nldbl-fdiv.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-ffma.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-finite.c
nldbl-floor.c
nldbl-fma.c
nldbl-fmax.c
nldbl-fmaximum.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmaximum_mag.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmaximum_mag_num.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmaximum_num.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmaxmag.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmin.c
nldbl-fminimum.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fminimum_mag.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fminimum_mag_num.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fminimum_num.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fminmag.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fmod.c
nldbl-fmul.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fprintf.c
nldbl-fprintf_chk.c
nldbl-frexp.c
nldbl-fromfp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fromfpx.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fscanf.c
nldbl-fsqrt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fsub.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-fwprintf.c
nldbl-fwprintf_chk.c
nldbl-fwscanf.c
nldbl-gamma.c
nldbl-getpayload.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-hypot.c
nldbl-ilogb.c
nldbl-iovfscanf.c
nldbl-isinf.c
nldbl-isnan.c
nldbl-isoc23_fscanf.c
nldbl-isoc23_fwscanf.c
nldbl-isoc23_scanf.c
nldbl-isoc23_sscanf.c
nldbl-isoc23_swscanf.c
nldbl-isoc23_vfscanf.c
nldbl-isoc23_vfwscanf.c
nldbl-isoc23_vscanf.c
nldbl-isoc23_vsscanf.c
nldbl-isoc23_vswscanf.c
nldbl-isoc23_vwscanf.c
nldbl-isoc23_wscanf.c
nldbl-isoc99_fscanf.c
nldbl-isoc99_fwscanf.c
nldbl-isoc99_scanf.c
nldbl-isoc99_sscanf.c
nldbl-isoc99_swscanf.c
nldbl-isoc99_vfscanf.c
nldbl-isoc99_vfwscanf.c
nldbl-isoc99_vscanf.c
nldbl-isoc99_vsscanf.c
nldbl-isoc99_vswscanf.c
nldbl-isoc99_vwscanf.c
nldbl-isoc99_wscanf.c
nldbl-j0.c
nldbl-j1.c
nldbl-jn.c
nldbl-ldexp.c
nldbl-lgamma.c
nldbl-lgamma_r.c
nldbl-llogb.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-llrint.c
nldbl-llround.c
nldbl-log.c
nldbl-log1p.c Implement C23 logp1 2024-06-17 13:47:09 +00:00
nldbl-log2.c
nldbl-log2p1.c Implement C23 log2p1 2024-05-20 13:41:39 +00:00
nldbl-log10.c
nldbl-log10p1.c Implement C23 log10p1 2024-06-17 13:48:13 +00:00
nldbl-logb.c
nldbl-lrint.c
nldbl-lround.c
nldbl-modf.c
nldbl-nan.c
nldbl-nearbyint.c
nldbl-nextafter.c
nldbl-nextdown.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-nexttoward.c
nldbl-nexttowardf.c
nldbl-nextup.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-obstack_printf.c
nldbl-obstack_printf_chk.c
nldbl-obstack_vprintf.c
nldbl-obstack_vprintf_chk.c
nldbl-pow.c
nldbl-pown.c Implement C23 pown 2025-03-27 10:44:44 +00:00
nldbl-powr.c Implement C23 powr 2025-03-14 15:58:11 +00:00
nldbl-printf.c
nldbl-printf_chk.c
nldbl-printf_fp.c
nldbl-printf_size.c
nldbl-qecvt.c
nldbl-qecvt_r.c
nldbl-qfcvt.c
nldbl-qfcvt_r.c
nldbl-qgcvt.c
nldbl-remainder.c
nldbl-remquo.c
nldbl-rint.c
nldbl-round.c
nldbl-roundeven.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-rsqrt.c Implement C23 rsqrt 2025-03-07 19:15:26 +00:00
nldbl-scalb.c
nldbl-scalbln.c
nldbl-scalbn.c
nldbl-scanf.c
nldbl-setpayload.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-setpayloadsig.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-signbit.c
nldbl-significand.c
nldbl-sin.c
nldbl-sincos.c
nldbl-sinh.c
nldbl-sinpi.c Implement C23 sinpi 2024-12-04 20:04:04 +00:00
nldbl-snprintf.c
nldbl-snprintf_chk.c
nldbl-sprintf.c
nldbl-sprintf_chk.c
nldbl-sqrt.c
nldbl-sscanf.c
nldbl-strfmon.c
nldbl-strfmon_l.c
nldbl-strfroml.c
nldbl-strtold.c
nldbl-strtold_l.c
nldbl-strtoldint.c
nldbl-swprintf.c
nldbl-swprintf_chk.c
nldbl-swscanf.c
nldbl-syslog.c
nldbl-syslog_chk.c
nldbl-tan.c
nldbl-tanh.c
nldbl-tanpi.c Implement C23 tanpi 2024-12-05 21:42:10 +00:00
nldbl-tgamma.c
nldbl-totalorder.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-totalordermag.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-trunc.c
nldbl-ufromfp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-ufromfpx.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nldbl-vasprintf.c
nldbl-vasprintf_chk.c
nldbl-vdprintf.c
nldbl-vdprintf_chk.c
nldbl-vfprintf.c
nldbl-vfprintf_chk.c
nldbl-vfscanf.c
nldbl-vfwprintf.c
nldbl-vfwprintf_chk.c
nldbl-vfwscanf.c
nldbl-vprintf.c
nldbl-vprintf_chk.c
nldbl-vscanf.c
nldbl-vsnprintf.c
nldbl-vsnprintf_chk.c
nldbl-vsprintf.c
nldbl-vsprintf_chk.c
nldbl-vsscanf.c
nldbl-vswprintf.c
nldbl-vswprintf_chk.c
nldbl-vswscanf.c
nldbl-vsyslog.c
nldbl-vsyslog_chk.c
nldbl-vwprintf.c
nldbl-vwprintf_chk.c
nldbl-vwscanf.c
nldbl-wcstold.c
nldbl-wcstold_l.c
nldbl-wcstoldint.c
nldbl-wprintf.c
nldbl-wprintf_chk.c
nldbl-wscanf.c
nldbl-y0.c
nldbl-y1.c
nldbl-yn.c
s_clog10.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_clog10l.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_copysign.c
s_finite.c
s_frexp.c
s_isinf.c
s_isnan.c
s_ldexp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_ldexpl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_modf.c
s_nextafter.c
s_nexttowardfd.c
test-narrow-macros-ldbl-64.c
test-nldbl-redirect.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-redirection-ldbl-64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-nldbl-scanf-binary-c11.c
tst-nldbl-scanf-binary-c23.c Rename c2x / gnu2x tests to c23 / gnu23 2024-02-01 17:55:57 +00:00
tst-nldbl-scanf-binary-gnu11.c
tst-nldbl-scanf-binary-gnu89.c
tst-nldbl-wscanf-binary-c11.c
tst-nldbl-wscanf-binary-c23.c Rename c2x / gnu2x tests to c23 / gnu23 2024-02-01 17:55:57 +00:00
tst-nldbl-wscanf-binary-gnu11.c
tst-nldbl-wscanf-binary-gnu89.c
tst-scanf-format-ldouble-a.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
tst-scanf-format-ldouble-aa.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
tst-scanf-format-ldouble-e.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
tst-scanf-format-ldouble-ee.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
tst-scanf-format-ldouble-f.input stdio-common: Add scanf long double data for IEEE 754 binary64 format 2025-03-25 09:40:20 +00:00
tst-scanf-format-ldouble-ff.input stdio-common: Add scanf long double data for IEEE 754 binary64 format 2025-03-25 09:40:20 +00:00
tst-scanf-format-ldouble-g.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
tst-scanf-format-ldouble-gg.input stdio-common: Reject real data w/o exponent digits in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
w_exp10_compat.c
w_exp10l_compat.c
w_lgamma_compat.c
w_lgamma_compatl.c
w_remainder_compat.c
w_remainderl_compat.c
w_scalb_compat.c
w_scalbl_compat.c