- Arch::parse(): don't hang on unbalanced quotes
authorMichael Schroeder <mls@suse.de>
Thu, 25 Oct 2012 14:09:22 +0000 (16:09 +0200)
committerMichael Schroeder <mls@suse.de>
Thu, 25 Oct 2012 14:09:22 +0000 (16:09 +0200)
Build/Arch.pm

index a01a70c..8e561c3 100644 (file)
@@ -26,7 +26,7 @@ sub unquotesplit {
   $str =~ s/^[ \t]+//;
   while ($str =~ /([\"\'])/) {
     my $q = $1;
-    $str =~ s/$q(.*?)$q/quote($1, $q, $vars)/e;
+    last unless $str =~ s/$q(.*?)$q/quote($1, $q, $vars)/e;
   }
   if ($str =~ /\$/) {
     $str =~ s/\$([a-zA-Z0-9_]+|\{([^\}]+)\})/$vars->{$2 || $1} ? join(' ', @{$vars->{$2 || $1}}) : "\$$1"/ge;