From 89826f41bd5c96e6b13692d03d08049c912b9365 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek <kaashoek@mit.edu> Date: Mon, 19 Sep 2016 07:01:30 -0400 Subject: [PATCH] Check result of write (thans to Alexander Kapshuk <alexander.kapshuk@gmail) --- cat.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cat.c b/cat.c index 2b2dcc7..5ddc820 100644 --- a/cat.c +++ b/cat.c @@ -9,8 +9,12 @@ cat(int fd) { int n; - while((n = read(fd, buf, sizeof(buf))) > 0) - write(1, buf, n); + while((n = read(fd, buf, sizeof(buf))) > 0) { + if (write(1, buf, n) != n) { + printf(1, "cat: write error\n"); + exit(); + } + } if(n < 0){ printf(1, "cat: read error\n"); exit(); -- GitLab