]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/unix.c
Merge master
[netatalk.git] / etc / afpd / unix.c
index 54914f1991779f3c392cd807457823ade7c09e4c..d692b11cbdab2c9d8e83cd6e622a2a8e49d80e2b 100644 (file)
@@ -341,10 +341,8 @@ int setdirmode(const struct vol *vol, const char *name, mode_t mode)
     struct stat                st;
     struct dirent      *dirp;
     DIR                        *dir;
-    mode_t              hf_mode;
     
     mode |= vol->v_dperm;
-    hf_mode = ad_hf_mode(mode);
 
     if (dir_rx_set(mode)) {
        /* extending right? dir first */
@@ -369,6 +367,7 @@ int setdirmode(const struct vol *vol, const char *name, mode_t mode)
 
         if (!S_ISDIR(st.st_mode)) {
            if (setfilmode(dirp->d_name, mode, &st, vol->v_umask) < 0) {
+               closedir( dir );
                 LOG(log_error, logtype_afpd, "setdirmode: chmod %s: %s",dirp->d_name, strerror(errno) );
                 return -1;
            }