diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 1d3a83b3b3f7e3f2abf1dbaf817410177c1da2b9..90f1a4535ce31d5534c60df05b51796ff9e05c55 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -2296,11 +2296,6 @@ static BOOL ftpalias(char* fullalias, char* filename, user_t* user, client_t* cl *(p-1) = 0; } - if(filename==NULL /* directory */ && *fname /* filename specified */) { - fclose(fp); - return(FALSE); - } - while(!feof(fp)) { if(!fgets(line,sizeof(line),fp)) break; @@ -2324,6 +2319,9 @@ static BOOL ftpalias(char* fullalias, char* filename, user_t* user, client_t* cl FIND_WHITESPACE(tp); if(*tp) *tp=0; + if(filename == NULL /* CWD? */ && *lastchar(p) != '/') + return FALSE; + if(!strnicmp(p,BBS_VIRTUAL_PATH,strlen(BBS_VIRTUAL_PATH))) { if((dir=getdir(p+strlen(BBS_VIRTUAL_PATH),user,client))<0) { lprintf(LOG_WARNING,"0000 <%s> !Invalid virtual path: %s",user->alias, p);