Hi Mark thanks for your input. Didn't work though :( I've put a bit of debug messages to see where it is passing and it always pass in the "compr" check:
pad = size % TAR_BLOCKSIZE ? (TAR_BLOCKSIZE - (size % TAR_BLOCKSIZE)) : 0; if (compr) { if (off == gzseek(dbio->gzs, 0, SEEK_CUR)) { gzsek = gzseek(dbio->gzs, (long)size + pad, SEEK_CUR); printf("gzseek \n"); } else if (pad) { gzseek(dbio->gzs, pad, SEEK_CUR); printf("pad gzseek \n"); } Now the loop says: LibClamAV debug: cli_tgzload: Loading COPYING, size: 17992 gzseek LibClamAV debug: cli_tgzload: Loading COPYING, size: 17992 gzseek so it's in the first part of the "if". Thinking it could have been a problem with gzseek I've added the "gzsek" variable so I can check the return value: if ( gzsek == -1 ) break; but it stays in loop. So it could eventually be a problem with the libz library .... I've filed a bug to bugzilla, but try to find also by myself. Pierluigi
_______________________________________________ clamav-users mailing list clamav-users@lists.clamav.net https://lists.clamav.net/mailman/listinfo/clamav-users Help us build a comprehensive ClamAV guide: https://github.com/vrtadmin/clamav-faq http://www.clamav.net/contact.html#ml