On 22/03/2020 09:18, Pierluigi Frullani via clamav-users wrote:
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.
Solaris 10 has libz 1.2.3 - you might want to build the latest version
(1.2.8?) and use that, I have vague memories that some newer source (not
just clamav) just doesn't work with the older versions.
Cheers,
Gary B-)
_______________________________________________
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