Browse code

skip all files inside multi-volume solid archives

git-svn: trunk@2884

Tomasz Kojm authored on 2007/03/01 21:38:45
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+Thu Mar  1 11:43:07 CET 2007 (tk)
2
+---------------------------------
3
+  * libclamav/unrar/unrar.c: skip all files inside multi-volume solid archives
4
+			     (but still scan their metadata)
5
+
1 6
 Thu Mar  1 09:10:04 GMT 2007 (njh)
2 7
 ----------------------------------
3 8
   * libclamav/pdf.c:	Try with both real and calculated Length fields, since
... ...
@@ -1610,6 +1610,9 @@ int cli_unrar_extract_next(rar_state_t* state,const char* dirname)
1610 1610
 	} else if(state->file_header->flags & (LHD_SPLIT_BEFORE | LHD_SPLIT_AFTER)) {
1611 1611
 	        cli_dbgmsg("Skipping split file\n");
1612 1612
 
1613
+	} else if((state->main_hdr->flags & MHD_VOLUME) && (state->main_hdr->flags && MHD_SOLID)) {
1614
+	        cli_dbgmsg("Skipping file inside multi-volume solid archive\n");
1615
+
1613 1616
 	} else /*if (file_header->unpack_size)*/ {
1614 1617
 		snprintf(state->filename, 1024, "%s/%lu.ura", dirname, state->file_count);
1615 1618
 		ofd = open(state->filename, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0600);