diff options
Diffstat (limited to 'src/libunixonacid/open_writeatb.c')
-rw-r--r-- | src/libunixonacid/open_writeatb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libunixonacid/open_writeatb.c b/src/libunixonacid/open_writeatb.c index fd75365..46649e8 100644 --- a/src/libunixonacid/open_writeatb.c +++ b/src/libunixonacid/open_writeatb.c @@ -6,7 +6,11 @@ int open_writeatb (int dirfd, char const *name) { int fd = open_writeat(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 ; } |