From 94d3b60ff6ac7a29b10f16a0a651b1360627f465 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Wed, 27 Dec 2017 21:46:52 -0500 Subject: [PATCH] fileio: write_string_stream_ts: return errors from fputs and fputc Ignoring errors from these functions may mask errors returned by the kernel. Fixes: https://github.com/systemd/systemd/issues/7744 --- src/basic/fileio.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/basic/fileio.c b/src/basic/fileio.c index 4e02d5b344..21ea24d90f 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -65,9 +65,12 @@ int write_string_stream_ts( assert(f); assert(line); - fputs(line, f); + if (fputs(line, f) == EOF) + return -errno; + if (!(flags & WRITE_STRING_FILE_AVOID_NEWLINE) && !endswith(line, "\n")) - fputc('\n', f); + if (fputc('\n', f) == EOF) + return -errno; if (ts) { struct timespec twice[2] = {*ts, *ts};