summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2018-11-07 14:04:54 +0100
committerPeter Stephenson <p.stephenson@samsung.com>2018-11-09 11:02:24 +0000
commitd1095bdf744c190c7e8ff126ba02caea8f63880d (patch)
tree421a0d2ed7cfaf7a9b30d43851c5f7ae3169d7b4
parent031afe420725e328e9d7742be69ef0bd81c62b9a (diff)
downloadzsh-d1095bdf744c190c7e8ff126ba02caea8f63880d.tar.gz
zsh-d1095bdf744c190c7e8ff126ba02caea8f63880d.zip
43723: file descriptor could leak on fork error
-rw-r--r--ChangeLog2
-rw-r--r--Src/exec.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ed44bcf26..009c33e30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2018-11-09 Peter Stephenson <p.stephenson@samsung.com>
+ * 43792: Kamil: Src/exec.c: file descriptor could leak on fork error.
+
* 43793: Kamil: Src/Zle/computil.c: could overrun buffer by 1 byte.
* 43791: Kamil: Src/Modules/clone.c: file descriptor was closed twice.
diff --git a/Src/exec.c b/Src/exec.c
index c4a2740c0..042ba065a 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -4805,7 +4805,8 @@ getoutputfile(char *cmd, char **eptr)
}
if ((cmdoutpid = pid = zfork(NULL)) == -1) {
- /* fork or open error */
+ /* fork error */
+ close(fd);
child_unblock();
return nam;
} else if (pid) {