From e6844edbf1da0465167cf1fc04966a1ef1f1fdc5 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Yadav Date: Mon, 24 Aug 2020 04:19:45 +0530 Subject: [PATCH] Safeguarded dup2 and close sequence in getcmd --- dwmblocks.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dwmblocks.c b/dwmblocks.c index 36cad3a..b84abed 100644 --- a/dwmblocks.c +++ b/dwmblocks.c @@ -81,11 +81,13 @@ getcmd(Block *block, int sigval) case 0: close(ConnectionNumber(dpy)); close(fd[0]); - if (dup2(fd[1], STDOUT_FILENO) != STDOUT_FILENO) { - perror("getcmd - child - dup2"); - exit(1); + if (fd[1] != STDOUT_FILENO) { + if (dup2(fd[1], STDOUT_FILENO) != STDOUT_FILENO) { + perror("getcmd - child - dup2"); + exit(1); + } + close(fd[1]); } - close(fd[1]); if (sigval == NILL) { char *arg[] = { block->pathu, NULL };