[LTP] [PATCH 1/2] safe_stdio: More checks for invalid function return values
Petr Vorel
pvorel@suse.cz
Fri Apr 17 10:47:57 CEST 2026
LTP library pedantically check invalid function return values, add
missing ones.
Fixes: 56221c5bb2 ("lib: add safe macros for stream testing suite")
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
lib/safe_stdio.c | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/lib/safe_stdio.c b/lib/safe_stdio.c
index feb8a4b5c8..ed5bca0072 100644
--- a/lib/safe_stdio.c
+++ b/lib/safe_stdio.c
@@ -153,7 +153,11 @@ int safe_fseek(const char *file, const int lineno,
if (ret == -1) {
tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
- "fseek(%p, %ld, %d)", f, offset, whence);
+ "fseek(%p, %ld, %d) failed", f, offset, whence);
+ } else if (ret < 0) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+ "Invalid fseek(%p, %ld, %d) return value %d",
+ f, offset, whence, ret);
}
return ret;
@@ -167,8 +171,12 @@ long safe_ftell(const char *file, const int lineno,
errno = 0;
ret = ftell(f);
- if (ret == -1)
- tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "ftell(%p)", f);
+ if (ret == -1) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "ftell(%p) failed", f);
+ } else if (ret < 0) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+ "Invalid ftell(%p) return value %ld", f, ret);
+ }
return ret;
}
@@ -181,8 +189,12 @@ int safe_fileno(const char *file, const int lineno,
errno = 0;
ret = fileno(f);
- if (ret == -1)
- tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "fileno(%p)", f);
+ if (ret == -1) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "fileno(%p) failed", f);
+ } else if (ret < 0) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+ "Invalid fileno(%p) return value %d", f, ret);
+ }
return ret;
}
@@ -195,8 +207,12 @@ int safe_fflush(const char *file, const int lineno,
errno = 0;
ret = fflush(f);
- if (ret == EOF)
- tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "fflush(%p)", f);
+ if (ret == EOF) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL, "fflush(%p) failed", f);
+ } else if (!ret) {
+ tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+ "Invalid fflush(%p) return value %d", f, ret);
+ }
return ret;
}
--
2.53.0
More information about the ltp
mailing list