From: Mike Gilbert Date: Thu, 28 Dec 2017 02:46:52 +0000 (-0500) Subject: fileio: write_string_stream_ts: return errors from fputs and fputc X-Git-Tag: v237~164^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=94d3b60ff6ac7a29b10f16a0a651b1360627f465;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/basic/fileio.c b/src/basic/fileio.c index 4e02d5b3445..21ea24d90f4 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};