diff --git a/libclamav/scanners.c b/libclamav/scanners.c index 2cb2cca49..f21494545 100644 --- a/libclamav/scanners.c +++ b/libclamav/scanners.c @@ -3650,7 +3650,9 @@ static cl_error_t scanraw(cli_ctx *ctx, cli_file_t type, uint8_t typercg, cli_fi // Omit OLD TAR files because it's a raw archive format that we can extract and scan manually. (type != CL_TYPE_OLD_TAR) && // Omit POSIX TAR files because it's a raw archive format that we can extract and scan manually. - (type != CL_TYPE_POSIX_TAR)) { + (type != CL_TYPE_POSIX_TAR) && + // Omit TNEF files because TNEF message attachments are raw / not compressed. Document and ZIP attachments would be likely to have double-extraction issues. + (type != CL_TYPE_TNEF)) { /* * Enable file type recognition scan mode if requested, except for some problematic types (above). */ diff --git a/libclamav/unzip.c b/libclamav/unzip.c index d635522b8..a68e305ec 100644 --- a/libclamav/unzip.c +++ b/libclamav/unzip.c @@ -2109,7 +2109,7 @@ cl_error_t unzip_search_single(cli_ctx *ctx, const char *name, size_t nlen, uint // Search for the zip file entry in the current layer. status = unzip_search(ctx, &requests); - if (CL_SUCCESS == status) { + if (CL_VIRUS == status) { *loff = requests.loff; }