if DARWIN_ACE_ADD_SUBDIRECTORY is set
* FIX: afpd: afpd crashed when it failed to register with Avahi because eg
user service registration is disabled in the Avahi config
+* FIX: dbd: function checking and removing malformed ad:ea header files failed
+ to chdir back to the original working directory
* FIX: cnid_dbd: increase BerkeleyDB locks and lockobjs
* FIX: cnid_dbd: implement -d option, deletes CNID db
* FIX: dbd: better detection of local (or SMB/NFS) modifications on AFP volumes
if ((dp = opendir(".")) == NULL) {
dbd_log(LOGSTD, "Couldn't open the directory '%s/%s': %s",
cwdbuf, ADv2_DIRNAME, strerror(errno));
- return;
+ goto exit;
}
while ((ep = readdir(dp))) {
} /* if */
} /* while */
+exit:
if (dp)
closedir(dp);
-
+ if ((chdir("..")) != 0) {
+ dbd_log(LOGSTD, "Couldn't chdir to '%s': %s", cwdbuf, strerror(errno));
+ /* we can't proceed */
+ longjmp(jmp, 1); /* this jumps back to cmd_dbd_scanvol() */
+ }
}
/*