From 08cda657c6683350a43523d22d85bbfdcc961c8f Mon Sep 17 00:00:00 2001 From: des Date: Mon, 17 Jul 2000 22:24:52 +0000 Subject: Don't reply "not a plain file" when the requested file doesn't exist. --- libexec/ftpd/ftpcmd.y | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libexec/ftpd') diff --git a/libexec/ftpd/ftpcmd.y b/libexec/ftpd/ftpcmd.y index bb5bff9..9e34221 100644 --- a/libexec/ftpd/ftpcmd.y +++ b/libexec/ftpd/ftpcmd.y @@ -1481,7 +1481,9 @@ sizecmd(filename) case TYPE_L: case TYPE_I: { struct stat stbuf; - if (stat(filename, &stbuf) < 0 || !S_ISREG(stbuf.st_mode)) + if (stat(filename, &stbuf) < 0) + perror_reply(550, filename); + else if (!S_ISREG(stbuf.st_mode)) reply(550, "%s: not a plain file.", filename); else reply(213, "%qu", stbuf.st_size); @@ -1496,7 +1498,11 @@ sizecmd(filename) perror_reply(550, filename); return; } - if (fstat(fileno(fin), &stbuf) < 0 || !S_ISREG(stbuf.st_mode)) { + if (fstat(fileno(fin), &stbuf) < 0) { + perror_reply(550, filename); + (void) fclose(fin); + return; + } else if (!S_ISREG(stbuf.st_mode)) { reply(550, "%s: not a plain file.", filename); (void) fclose(fin); return; -- cgit v1.1