Avoid tainting problems.
Perl 5 Porters [Tue, 2 Jan 1996 03:10:36 +0000 (03:10 +0000)]
lib/AutoLoader.pm

index ea19e50..766de1e 100644 (file)
@@ -20,7 +20,8 @@ autoloaded from F<auto/$AUTOLOAD.al>.  See L<perlsub/"Autoloading">.
 =cut
 
 AUTOLOAD {
-    my $name = "auto/$AUTOLOAD.al";
+    $AUTOLOAD =~ /([\w:]+)/;   # avoid taint problems for eval require $name
+    my $name = "auto/$1.al";
     $name =~ s#::#/#g;
     eval {require $name};
     if ($@) {
@@ -41,6 +42,7 @@ AUTOLOAD {
            croak $@;
        }
     }
+    $DB::sub = $AUTOLOAD;      # Now debugger know where we are.
     goto &$AUTOLOAD;
 }