diff options
Diffstat (limited to 'src/libunixonacid/open_readatb.c')
-rw-r--r-- | src/libunixonacid/open_readatb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libunixonacid/open_readatb.c b/src/libunixonacid/open_readatb.c index 6e4cd0f..9d9ed26 100644 --- a/src/libunixonacid/open_readatb.c +++ b/src/libunixonacid/open_readatb.c @@ -6,7 +6,11 @@ int open_readatb (int dirfd, char const *name) { int fd = open_readat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } |