X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Fappl.c;h=f53803e0dfc5f92ebcb5188ede9a146d2922a7b9;hb=450114e8c52574c5444d856e8a0208f2bbaab80c;hp=59de70e37a4d2ab04a9719f0b80d0b89ea519106;hpb=7be2a68aa70fa5641e944ad0aed6f699736d3de9;p=netatalk.git diff --git a/etc/afpd/appl.c b/etc/afpd/appl.c index 59de70e3..f53803e0 100644 --- a/etc/afpd/appl.c +++ b/etc/afpd/appl.c @@ -1,5 +1,4 @@ /* - * $Id: appl.c,v 1.18.4.1 2010-02-01 10:56:08 franklahm Exp $ * * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. @@ -23,6 +22,7 @@ #include #include #include +#include #include "volume.h" #include "directory.h" @@ -170,7 +170,11 @@ makemacpath(const struct vol *vol, char *mpath, int mpathlen, struct dir *dir, c } /* next part */ - if ((uname = cnid_resolve(vol->v_cdb, &cnid, buffer, buflen)) == NULL ) { + AFP_CNID_START("cnid_resolve"); + uname = cnid_resolve(vol->v_cdb, &cnid, buffer, buflen); + AFP_CNID_DONE(); + + if (uname == NULL) { afp_errno = AFPERR_NOOBJ; ret = NULL; goto exit; @@ -335,6 +339,7 @@ int afp_rmvappl(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, siz mpath = obj->newtmp; mp = makemacpath( vol, mpath, AFPOBJ_TMPSIZ, curdir, path->m_name ); if (!mp) { + close(tfd); return AFPERR_PARAM ; } @@ -481,8 +486,8 @@ int afp_getappl(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t return( AFPERR_NOITEM ); } buflen = *rbuflen - sizeof( bitmap ) - sizeof( appltag ); - if ( getfilparams(vol, bitmap, path, curdir, rbuf + sizeof( bitmap ) + - sizeof( appltag ), &buflen ) != AFP_OK ) { + if ( getfilparams(obj, vol, bitmap, path, curdir, rbuf + sizeof( bitmap ) + + sizeof( appltag ), &buflen, 0) != AFP_OK ) { *rbuflen = 0; return( AFPERR_BITMAP ); }