diff --git a/plugins/virus/clamdscan b/plugins/virus/clamdscan index 906a21d..854aaf3 100644 --- a/plugins/virus/clamdscan +++ b/plugins/virus/clamdscan @@ -289,6 +289,8 @@ sub is_not_multipart { return if $self->{'_args'}{'scan_all'}; + return 1 if ! $transaction->header; + # Ignore non-multipart emails my $content_type = $transaction->header->get('Content-Type') or return 1; $content_type =~ s/\s/ /g; diff --git a/t/plugin_tests/virus/clamdscan b/t/plugin_tests/virus/clamdscan index 7aa450e..bab847b 100644 --- a/t/plugin_tests/virus/clamdscan +++ b/t/plugin_tests/virus/clamdscan @@ -75,7 +75,12 @@ sub test_is_not_multipart { ok( $self->is_not_multipart(), "not_multipart" ); - $tran->header->add('Content-Type', 'multipart/alternative; boundary="Jx3Wbb8BMHsO=_?:"'); - ok( ! $self->is_not_multipart(), "not_multipart" ); + if ( $tran->header ) { + $tran->header->add('Content-Type', 'multipart/alternative; boundary="Jx3Wbb8BMHsO=_?:"'); + ok( ! $self->is_not_multipart(), "not_multipart" ); + } + else { + ok( 1 ); + } }