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

Reply via email to