Browse code

fix handling of multiple ExcludePath entries.

git-svn: trunk@4944

Török Edvin authored on 2009/03/14 02:52:12
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Fri Mar 13 19:52:07 EET 2009 (edwin)
2
+------------------------------------
3
+ * clamd/scanner.c: fix handling of multiple ExcludePath entries.
4
+
1 5
 Fri Mar 13 17:44:48 EET 2009 (edwin)
2 6
 ------------------------------------
3 7
  * docs/man/clamdscan.1.in, docs/man/clamdtop.1.in: escape some more
... ...
@@ -149,6 +149,7 @@ int scan_callback(struct stat *sb, char *filename, const char *msg, enum cli_ftw
149 149
     }
150 150
 #endif
151 151
     if((opt = optget(scandata->opts, "ExcludePath"))->enabled) {
152
+      while (opt) {
152 153
 	/* TODO: perhaps multiscan should skip this check? 
153 154
 	 * This should work unless the user is doing something stupid like
154 155
 	 * MULTISCAN / */
... ...
@@ -158,6 +159,8 @@ int scan_callback(struct stat *sb, char *filename, const char *msg, enum cli_ftw
158 158
 	    free(filename);
159 159
 	    return CL_SUCCESS;
160 160
 	}
161
+	opt = (struct opstruct *) opt->nextarg;
162
+      }
161 163
     }
162 164
 
163 165
     if(sb && sb->st_size == 0) { /* empty file */