X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmalware.c;h=864564ffc926edb4d2a563db6236897779e1e66f;hb=c4d9f824f7dc63f898f0261d18ea09dc48b48ca8;hp=c7cd0bcca8581c2f1c0307d59bfba3bdbc70cc35;hpb=3634fc257bd0667daef14d72005cd87c735bbb24;p=exim.git diff --git a/src/src/malware.c b/src/src/malware.c index c7cd0bcca..864564ffc 100644 --- a/src/src/malware.c +++ b/src/src/malware.c @@ -69,17 +69,22 @@ Returns: Exim message processing code (OK, FAIL, DEFER, ...) int malware(uschar **listptr) { uschar scan_filename[1024]; BOOL fits; + int ret; fits = string_format(scan_filename, sizeof(scan_filename), CS"%s/scan/%s/%s.eml", spool_directory, message_id, message_id); if (!fits) { + av_failed = TRUE; log_write(0, LOG_MAIN|LOG_PANIC, "malware filename does not fit in buffer [malware()]"); return DEFER; } - return malware_internal(listptr, scan_filename, FALSE); + ret = malware_internal(listptr, scan_filename, FALSE); + if (ret == DEFER) av_failed = TRUE; + + return ret; }