]> arthur.barton.de Git - netatalk.git/commitdiff
bugfix: movecwd() if parent directory is deleted by someone else
authordidg <didg>
Tue, 15 Apr 2003 07:18:45 +0000 (07:18 +0000)
committerdidg <didg>
Tue, 15 Apr 2003 07:18:45 +0000 (07:18 +0000)
etc/afpd/directory.c

index 6d8b21d7449c85a5bac33fdc9c1c1f32136be924..6d3fe1bd47493497833539d9f449014114cc6cc5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: directory.c,v 1.66 2003-04-14 18:03:48 didg Exp $
+ * $Id: directory.c,v 1.67 2003-04-15 07:18:45 didg Exp $
  *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
@@ -1150,6 +1150,11 @@ struct dir       *dir;
     *p = '.';
     for ( d = dir; d->d_parent != NULL && d != curdir; d = d->d_parent ) {
         u = d->d_u_name;
+       if (!u) {
+           /* parent directory is deleted */
+           afp_errno = AFPERR_NOOBJ;
+           return -1;
+       }
         n = strlen( u );
         if (p -n -1 < path) {
             afp_errno = AFPERR_PARAM;