mrb_dup() should fail if fd is a negative integer; ref #4005

This commit is contained in:
Yukihiro "Matz" Matsumoto
2018-04-18 17:25:52 +09:00
parent 135b4773e3
commit 05db341ef5
+2 -2
View File
@@ -542,12 +542,12 @@ mrb_dup(mrb_state *mrb, int fd, mrb_bool *failed)
{
int new_fd;
*failed = FALSE;
*failed = TRUE;
if (fd < 0)
return fd;
new_fd = dup(fd);
if (new_fd == -1) *failed = TRUE;
if (new_fd > 0) *failed = FALSE;
return new_fd;
}