svn commit: r1936423 - spamassassin/trunk/lib/Mail/SpamAssassin
[email protected] Tue, 21 Jul 2026 15:27:05 -0000
| Newsgroups | gmane.mail.spam.spamassassin.cvs |
|---|---|
| Message-ID | <178464762552.3934990.3124707485988463987@svn03-he-fi> |
Author: gbechis
Date: Tue Jul 21 15:27:05 2026
New Revision: 1936423
Log:
limit base64 decoding based on scan size, we do not need to decode a big message
just to discard it later
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Tue Jul 21 14:33:38 2026 (r1936422)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Tue Jul 21 15:27:05 2026 (r1936423)
@@ -1535,7 +1535,10 @@ sub get_decoded_body_text_array {
# and not displayed
next if ($parts[$pt]->effective_type() eq 'text/calendar');
- my $rawbody = $parts[$pt]->decode();
+ # Bound base64 decoding to the scan size (plus boundary slack for the
+ # truncate-at-boundary search below) so oversized base64-encoded parts
+ # aren't fully decoded just to be thrown away.
+ my $rawbody = $parts[$pt]->decode($scansize ? $scansize + 1024 : undef);
my $rawlen = length($rawbody);
# Truncate to rawbody_part_scan_size