From d1a87ba237b87da2c5134d1345e3d3d7c8a3af98 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 14 May 2019 14:50:47 +0200 Subject: [PATCH] correctly check write return value Signed-off-by: Thomas Lamprecht --- src/mini-journalreader.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mini-journalreader.c b/src/mini-journalreader.c index c5a44d4..508de02 100644 --- a/src/mini-journalreader.c +++ b/src/mini-journalreader.c @@ -54,7 +54,10 @@ void print_to_buf(const char * string, uint32_t length) { strncpy(buf + offset, string + string_offset, BUFSIZE - offset); string_offset += BUFSIZE - offset; remaining = length - string_offset; - write (1, buf, BUFSIZE); + if (write (1, buf, BUFSIZE) <= 0) { + perror("write to stdout failed"); + exit(1); + } offset = 0; } strncpy(buf + offset, string + string_offset, remaining); @@ -351,10 +354,13 @@ int main(int argc, char *argv[]) { // print final cursor print_cursor(j); + sd_journal_close(j); // print remaining buffer - write(1, buf, offset); - sd_journal_close(j); + if (write (1, buf, offset) <= 0) { + perror("write to stdout failed"); + return 1; + } return 0; }