From f3b50b876176047b2fb6671357c254de059c50f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B6r=C3=B6k=20Edvin?= Date: Sat, 24 Jan 2009 15:47:11 +0000 Subject: [PATCH] complain when we don't receive a file git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4647 77e5149b-7576-45b1-b177-96237e5ba77b --- ChangeLog | 4 ++++ clamd/scanner.c | 12 +++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e88822e5..6e6882d81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Jan 24 18:09:37 EET 2009 (edwin) +------------------------------------ + * clamd/scanner.c: complain when we don't receive a file + Fri Jan 23 22:33:40 EET 2009 (edwin) ------------------------------------ * clamd/others.c, clamd/others.h, clamd/scanner.c, clamd/scanner.h, diff --git a/clamd/scanner.c b/clamd/scanner.c index a43182bf1..05b9220ce 100644 --- a/clamd/scanner.c +++ b/clamd/scanner.c @@ -526,14 +526,12 @@ int scanfd(const int fd, char term, unsigned long int *scanned, struct stat statbuf; char fdstr[32]; - - if(fstat(fd, &statbuf) == -1) - return -1; - - if(!S_ISREG(statbuf.st_mode)) - return -1; - snprintf(fdstr, sizeof(fdstr), "fd[%d]", fd); + if(fstat(fd, &statbuf) == -1 || !S_ISREG(statbuf.st_mode)) { + mdprintf(odesc, "%s: Not a regular file. ERROR%c", fdstr, term); + logg("%s: Not a regular file. ERROR\n", fdstr); + return -1; + } thrmgr_setactivetask(fdstr, NULL); ret = cl_scandesc(fd, &virname, scanned, engine, options);