]> arthur.barton.de Git - netatalk.git/commitdiff
libatalk: Fix a couple of issues in ad_openat()
authorRiccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Sat, 9 Feb 2013 10:36:29 +0000 (11:36 +0100)
committerRiccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Sat, 9 Feb 2013 10:36:29 +0000 (11:36 +0100)
Reported by coverity as CID #762151, #762127.

libatalk/adouble/ad_open.c

index 5aca77c0834d15dd092301d31888b979877a3f7f..a4a56b122f3d45783ca694135e453426bf07cb69 100644 (file)
@@ -1824,10 +1824,12 @@ int ad_openat(struct adouble  *ad,
     EC_INIT;
     int cwdfd = -1;
     va_list args;
     EC_INIT;
     int cwdfd = -1;
     va_list args;
-    mode_t mode;
+    mode_t mode = 0;
 
     if (dirfd != -1) {
         if ((cwdfd = open(".", O_RDONLY) == -1) || (fchdir(dirfd) != 0))
 
     if (dirfd != -1) {
         if ((cwdfd = open(".", O_RDONLY) == -1) || (fchdir(dirfd) != 0))
+            if (cwdfd > 0)
+                close(cwdfd);
             EC_FAIL;
     }
 
             EC_FAIL;
     }