diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-07-18 21:11:07 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-07-18 21:11:07 +0000 |
| commit | dcd49ea29b6bc3f35ba0c994eaad101517a4efe9 (patch) | |
| tree | bf63240b813e9db4ec0c479996d76534b1b798a2 /libexec | |
| parent | 729f4472b2201b74fc53724548b2b914307bec77 (diff) | |
Notes
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ftpd/ftpcmd.y | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libexec/ftpd/ftpcmd.y b/libexec/ftpd/ftpcmd.y index bb5bff97ff86..9e3422120793 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; |
