X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Ffork.c;h=f1d2aa9d5f95ed57c92d484c5ffe992fa2353a6f;hb=57ccf0c1240b4712852c0d75cbd6021f2761cb25;hp=f5e08831e487add7e0b04853d6ccb5b0994daa30;hpb=82094a3947daa8e605debe704fa7e86171f20f8c;p=netatalk.git diff --git a/etc/afpd/fork.c b/etc/afpd/fork.c index f5e08831..f1d2aa9d 100644 --- a/etc/afpd/fork.c +++ b/etc/afpd/fork.c @@ -1,5 +1,5 @@ /* - * $Id: fork.c,v 1.71 2009-11-12 02:33:13 didg Exp $ + * $Id: fork.c,v 1.72 2010-02-26 12:31:02 didg Exp $ * * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. @@ -84,10 +84,11 @@ static int getforkparams(struct ofork *ofork, u_int16_t bitmap, char *buf, size_ if ( bitmap & ( (1<of_ad ) == -1 ) { + if ( ad_data_fileno( ofork->of_ad ) <= 0 ) { + /* 0 is for symlink */ if (movecwd(vol, dir) < 0) return( AFPERR_NOOBJ ); - if ( stat( path.u_name, st ) < 0 ) + if ( lstat( path.u_name, st ) < 0 ) return( AFPERR_NOOBJ ); } else { if ( fstat( ad_data_fileno( ofork->of_ad ), st ) < 0 ) {