You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2010/03/30 03:33:53 UTC

svn commit: r928960 - /spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm

Author: mmartinec
Date: Tue Mar 30 01:33:52 2010
New Revision: 928960

URL: http://svn.apache.org/viewvc?rev=928960&view=rev
Log:
Stay on the safe side regarding taintedness of $1,$2,$3,$4.

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm?rev=928960&r1=928959&r2=928960&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm Tue Mar 30 01:33:52 2010
@@ -451,9 +451,12 @@ sub new_dns_packet {
   return if $self->{no_resolver};
 
   # construct a PTR query if it looks like an IPv4 address
-  if ((!defined($type) || $type eq 'PTR') && $host =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
-    $host = "$4.$3.$2.$1.in-addr.arpa.";
-    $type = 'PTR';
+  if (!defined($type) || $type eq 'PTR') {
+    local($1,$2,$3,$4);
+    if ($host =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
+      $host = "$4.$3.$2.$1.in-addr.arpa.";
+      $type = 'PTR';
+    }
   }
 
   my $packet;