It looks like the bzip/gzip scan functions were missed when implementing block-upon-reaching-limits functionality.
The attached patch (against 0.83) fixes this. Thanks
=== scanners.c ================================================================== --- scanners.c (/clamav/branches/debian/libclamav/scanners.c) (revision 103) +++ scanners.c (/clamav/trunk/libclamav/scanners.c) (revision 103) @@ -506,8 +506,12 @@ if(limits) if(limits->maxfilesize && (size + FILEBUFF > limits->maxfilesize)) { cli_dbgmsg("GZip: Size exceeded (stopped at %ld, max: %ld)\n", size, limits->maxfilesize); - /* ret = CL_EMAXSIZE; */ - break; + if(BLOCKMAX) { + *virname = "GZip.ExceededFileSize"; + ret = CL_VIRUS; + break; + } + continue; } if(cli_writen(fd, buff, bytes) != bytes) { @@ -594,8 +598,12 @@ if(limits) if(limits->maxfilesize && (size + FILEBUFF > limits->maxfilesize)) { cli_dbgmsg("Bzip: Size exceeded (stopped at %ld, max: %ld)\n", size, limits->maxfilesize); - /* ret = CL_EMAXSIZE; */ - break; + if(BLOCKMAX) { + *virname = "BZip.ExceededFileSize"; + ret = CL_VIRUS; + break; + } + continue; } if(cli_writen(fd, buff, bytes) != bytes) {
_______________________________________________ http://lurker.clamav.net/list/clamav-devel.html