From 28b77766117e037563f1539cd63530987d31bec9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Yadav Date: Fri, 6 Aug 2021 21:50:09 +0530 Subject: [PATCH] Cleanup before exit --- dwmblocks.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dwmblocks.c b/dwmblocks.c index 876099f..dc3d61b 100644 --- a/dwmblocks.c +++ b/dwmblocks.c @@ -178,6 +178,8 @@ updateblock(Block *block, int sigval) switch (fork()) { case -1: perror("updateblock - fork"); + close(fd[0]); + close(fd[1]); cleanup(); exit(1); case 0: @@ -185,6 +187,7 @@ updateblock(Block *block, int sigval) if (fd[1] != STDOUT_FILENO) { if (dup2(fd[1], STDOUT_FILENO) != STDOUT_FILENO) { perror("updateblock - child - dup2"); + close(fd[1]); exit(1); } close(fd[1]); @@ -213,6 +216,7 @@ updateblock(Block *block, int sigval) while (rd > 0 && (trd += rd) < CMDOUTLENGTH); if (rd == -1) { perror("updateblock - read"); + close(fd[0]); cleanup(); exit(1); } @@ -281,14 +285,17 @@ writepid() exit(2); } perror("writepid - fcntl"); + close(fd); exit(1); } if (ftruncate(fd, 0) == -1) { perror("writepid - ftruncate"); + close(fd); exit(1); } if (dprintf(fd, "%ld", (long)getpid()) < 0) { perror("writepid - dprintf"); + close(fd); exit(1); } }