From b4ea33b23b637267b49db40c03063a7b6607255d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B6r=C3=B6k=20Edvin?= Date: Fri, 13 Mar 2009 17:52:12 +0000 Subject: [PATCH] fix handling of multiple ExcludePath entries. git-svn: trunk@4944 --- ChangeLog | 4 ++++ clamd/scanner.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index ee4ce6229..d898d2233 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Mar 13 19:52:07 EET 2009 (edwin) +------------------------------------ + * clamd/scanner.c: fix handling of multiple ExcludePath entries. + Fri Mar 13 17:44:48 EET 2009 (edwin) ------------------------------------ * docs/man/clamdscan.1.in, docs/man/clamdtop.1.in: escape some more diff --git a/clamd/scanner.c b/clamd/scanner.c index a25d26b42..a23d42e32 100644 --- a/clamd/scanner.c +++ b/clamd/scanner.c @@ -149,6 +149,7 @@ int scan_callback(struct stat *sb, char *filename, const char *msg, enum cli_ftw } #endif if((opt = optget(scandata->opts, "ExcludePath"))->enabled) { + while (opt) { /* TODO: perhaps multiscan should skip this check? * This should work unless the user is doing something stupid like * MULTISCAN / */ @@ -158,6 +159,8 @@ int scan_callback(struct stat *sb, char *filename, const char *msg, enum cli_ftw free(filename); return CL_SUCCESS; } + opt = (struct opstruct *) opt->nextarg; + } } if(sb && sb->st_size == 0) { /* empty file */