Browse code

skip splitted files

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@1135 77e5149b-7576-45b1-b177-96237e5ba77b

Tomasz Kojm authored on 2004/11/28 03:56:39
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+Sat Nov 27 19:53:33 CET 2004 (tk)
2
+---------------------------------
3
+  * libclamav/scanners.c: cli_scanrar: skip splitted files (patch by Andrey J.
4
+			  Melnikoff (TEMHOTA) <temnota*kmv.ru>)
5
+
1 6
 Sat Nov 27 14:40:55 GMT 2004 (njh)
2 7
 ----------------------------------
3 8
  * libclamav/mbox.c:	Honour section 7.2.6 of RFC1521
... ...
@@ -148,7 +148,7 @@ static int cli_scanrar(int desc, const char **virname, long int *scanned, const
148 148
     rarlist_head = rarlist;
149 149
 
150 150
     while(rarlist) {
151
-	if(DETECT_ENCRYPTED && (rarlist->item.Flags & 4)) {
151
+	if(DETECT_ENCRYPTED && (rarlist->item.Flags & 0x04)) {
152 152
 	    files++;
153 153
 	    cli_dbgmsg("RAR: Encrypted files found in archive.\n");
154 154
 	    lseek(desc, 0, SEEK_SET);
... ...
@@ -162,6 +162,13 @@ static int cli_scanrar(int desc, const char **virname, long int *scanned, const
162 162
 	    break;
163 163
 	}
164 164
 
165
+	if((rarlist->item.Flags & 0x03) != 0) {
166
+	    cli_dbgmsg("RAR: Skipping %s (splitted)\n", rarlist->item.Name);
167
+	    rarlist = rarlist->next;
168
+	    files++;
169
+	    continue;
170
+	}
171
+
165 172
 	if(limits) {
166 173
 
167 174
 	    if(limits->maxratio && rarlist->item.UnpSize && rarlist->item.PackSize) {