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