Passing regexp vars as argument is unsafe
Gisle Aas [Sun, 18 Apr 2010 15:13:46 +0000 (17:13 +0200)]
In this case $_[0] is unexpectedly modified by matching a regular
expression inside the function, making it report bad file names.

Porting/check83.pl

index 1bd863f..64eac95 100644 (file)
@@ -62,7 +62,7 @@ if (open(MANIFEST, "MANIFEST")) {
            next;
        }
        while (m!/|\z!g) {
-           my ($dir, $edt) = eight_dot_three($`);
+           my ($dir, $edt) = eight_dot_three("$`");
            next unless defined $dir;
            ($dir, $edt) = map { lc } ($dir, $edt);
            push @{$dir{$dir}->{$edt}}, $_;