Francois Gouget : testbot/SetWinLocale: Untaint the hostname if specified on the command line.

Alexandre Julliard julliard at winehq.org
Tue Oct 1 07:59:43 CDT 2019


Module: tools
Branch: master
Commit: 5b9933e4ac114b63e4a6acafd6365bba0c90ee62
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=5b9933e4ac114b63e4a6acafd6365bba0c90ee62

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Tue Oct  1 03:35:26 2019 +0200

testbot/SetWinLocale: Untaint the hostname if specified on the command line.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 testbot/bin/SetWinLocale | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/testbot/bin/SetWinLocale b/testbot/bin/SetWinLocale
index dc739d1..7ddbded 100755
--- a/testbot/bin/SetWinLocale
+++ b/testbot/bin/SetWinLocale
@@ -385,6 +385,7 @@ while (@ARGV)
   }
 }
 
+# Check and untaint parameters
 my ($BaseVMName, $VMLocale, %AddLocales, $KeyboardIds, $CountryId);
 if (!defined $Usage)
 {
@@ -449,7 +450,7 @@ if (!defined $Usage)
         Error("'$OptVM' should not be a locale VM\n");
         $Usage = 2;
       }
-      $VMLocale = "$1_$2";
+      $VMLocale = "$1_$2"; # untaint
       $OptDefault = $VMLocale eq "sr_RS" ? "sr-Latn-CS" : "$1-$2";
     }
     elsif ($OptRefresh)
@@ -471,6 +472,15 @@ if (!defined $Usage)
       Error("you must specify the Windows machine to work on\n");
       $Usage = 2;
     }
+    elsif ($OptHostName =~ /^([a-zA-Z0-9.-]+)$/)
+    {
+      $OptHostName = $1; # untaint
+    }
+    else
+    {
+      Error("'$OptHostName' is not a valid hostname\n");
+      $Usage = 2;
+    }
   }
 
   $OptLocale ||= $OptDefault;




More information about the wine-cvs mailing list