[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
aCaB
acab at clamav.net
Sun Apr 4 01:07:24 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit b183aa786bcc29084d10239973455513469de3b5
Author: aCaB <acab at clamav.net>
Date: Fri Oct 9 21:25:33 2009 +0200
s/need/unneed/ in unzip, remove debug spam and comments in matcher.c
diff --git a/libclamav/matcher.c b/libclamav/matcher.c
index 6b6f3d4..bd22558 100644
--- a/libclamav/matcher.c
+++ b/libclamav/matcher.c
@@ -386,18 +386,7 @@ int cli_fmap_scandesc(cli_ctx *ctx, cli_file_t ftype, uint8_t ftonly, struct cli
cli_md5_init(&md5ctx);
while(offset < map->len) {
- /* TO TOMASZ:
- by swapping comments on the following 2 lines and in the other 2 lines below you
- can mimic the bahaviour of master in terms of which offsets we break the blocks at
- Offsets in master are: 0, 130680, 261752, 392824, 523896, 654968, 786040, 917112
- Offsets in the fmap are: 0, 130680, 261360, 392040, 522720, 653400, 784080, 914760
-
- I think maxpatlen is a bit too short. In practice, due to the SCANBUFF/maxpatlen ratio
- this is not a huge problem: during the regression it only affected 3 samples out of 3.5M
- */
- /* UNCOMMENT ME */ //bytes = MIN(map->len - offset, SCANBUFF + maxpatlen * (offset != 0));
- /* COMMENT ME */ bytes = MIN(map->len - offset, SCANBUFF);
- cli_errmsg("off: %u\n", offset);
+ bytes = MIN(map->len - offset, SCANBUFF);
if(!(buff = fmap_need_off_once(map, offset, bytes)))
break;
if(ctx->scanned)
@@ -444,18 +433,8 @@ int cli_fmap_scandesc(cli_ctx *ctx, cli_file_t ftype, uint8_t ftonly, struct cli
cli_md5_update(&md5ctx, buff + maxpatlen * (offset!=0), bytes - maxpatlen * (offset!=0));
}
- /* TO TOMASZ:
- That's the second block you need to swap in order to to match the swap above
- */
- /* UNCOMMENT ME */ //if(bytes < SCANBUFF + maxpatlen * (offset != 0)) break;
- /* COMMENT ME */ if(bytes < SCANBUFF) break;
+ if(bytes < SCANBUFF) break;
offset += bytes - maxpatlen;
- /* TO TOMASZ:
- as an additional check you can leave the above code untouched and replace the previous line with:
- offset += bytes - (maxpatlen + 63);
-
- Note that I'm not sure maxpatlen is only 63 bytes short, but with *this* specific sample case it's enough.
- */
}
if(troot) {
diff --git a/libclamav/unzip.c b/libclamav/unzip.c
index ff670f7..1376996 100644
--- a/libclamav/unzip.c
+++ b/libclamav/unzip.c
@@ -325,7 +325,7 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
if(zsize<=LH_flen) {
cli_dbgmsg("cli_unzip: lh - fname out of file\n");
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
if(meta || cli_debug_flag) {
@@ -362,14 +362,14 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
} else
*ret = CL_CLEAN;
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
if(LH_flags & F_MSKED) {
cli_dbgmsg("cli_unzip: lh - header has got unusable masked data\n");
/* FIXME: need to find/craft a sample */
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
@@ -377,14 +377,14 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
cli_dbgmsg("cli_unzip: Encrypted files found in archive.\n");
*ctx->virname = "Encrypted.Zip";
*ret = CL_VIRUS;
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
if(LH_flags & F_USEDD) {
cli_dbgmsg("cli_unzip: lh - has data desc\n");
if(!ch) {
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
else { usize = CH_usize; csize = CH_csize; }
@@ -392,7 +392,7 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
if(zsize<=LH_elen) {
cli_dbgmsg("cli_unzip: lh - extra out of file\n");
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
zip+=LH_elen;
@@ -403,7 +403,7 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
} else {
if(zsize<csize) {
cli_dbgmsg("cli_unzip: lh - stream out of file\n");
- fmap_need_off(map, loff, SIZEOF_LH);
+ fmap_unneed_off(map, loff, SIZEOF_LH);
return 0;
}
if(LH_flags & F_ENCR) {
@@ -416,7 +416,7 @@ static unsigned int lhdr(fmap_t *map, uint32_t loff,uint32_t zsize, unsigned int
zsize-=csize;
}
- fmap_need_off(map, loff, SIZEOF_LH); /* unneed now. block is guaranteed to exists till the next need */
+ fmap_unneed_off(map, loff, SIZEOF_LH); /* unneed now. block is guaranteed to exists till the next need */
if(LH_flags & F_USEDD) {
if(zsize<12) {
cli_dbgmsg("cli_unzip: lh - data desc out of file\n");
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list