1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-26 00:57:39 +03:00

stdio-common: Fix error reporting in scanf input specifier tests

Remove buffer contents reporting from the real variant of 'verify_input'
where there has been an input data format error making the contents of
data buffers irrelevant.

For example given invalid float input data:

%a:nan:1:3:nan(:

these messages are produced:

error: ./tst-scanf-format-skeleton.c:240: input buffer: `0000c07f'
error: ./tst-scanf-format-skeleton.c:240: value buffer: `0000c07f'
error: ./tst-scanf-format-skeleton.c:242: input line 1: input data format error

with the two former lines irrelevant.  Remove them from output then,
only leaving:

error: ./tst-scanf-format-skeleton.c:242: input line 1: input data format error

No test case added as it's a test case issue in the first place.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
Maciej W. Rozycki
2025-08-23 01:02:10 +01:00
parent 2b16c76609
commit da2a2581c4

View File

@@ -79,13 +79,13 @@
initialize_value (v); \
/* Make sure it's been committed. */ \
__asm__ ("" : : : "memory"); \
\
v = read_real (&errx); \
if (errx < 0) \
goto out; \
match = compare_real (val, v); \
\
out: \
if (errx || !match) \
match = compare_real (val, v); \
if (!match) \
{ \
union \
{ \
@@ -104,6 +104,7 @@ out: \
printf ("'\n"); \
} \
\
out: \
*errp = errx; \
match; \
})