]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: do not ignore flags option with bad quoting
authorMostafa Solati <mostafa.solati@gmail.com>
Mon, 2 Aug 2021 21:25:49 +0000 (01:55 +0430)
committerGopher Robot <gobot@golang.org>
Thu, 19 May 2022 20:20:43 +0000 (20:20 +0000)
Fixes #43177

Change-Id: I7d8ef8dee0dcade3cc88fc6423e23f41d1f8ffb2
Reviewed-on: https://go-review.googlesource.com/c/go/+/339289
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>

src/cmd/go/internal/load/flag.go
src/cmd/go/testdata/script/gcflags_patterns.txt

index de079decdf2541c6f7ac312e002aec761427bfbc..55bdab013505abc21d547e39bcf8e944a22099f4 100644 (file)
@@ -59,6 +59,9 @@ func (f *PerPackageFlag) set(v, cwd string) error {
                if i == 0 {
                        return fmt.Errorf("missing <pattern> in <pattern>=<value>")
                }
+               if v[0] == '\'' || v[0] == '"' {
+                       return fmt.Errorf("parameter may not start with quote character %c", v[0])
+               }
                pattern := strings.TrimSpace(v[:i])
                match = MatchPackage(pattern, cwd)
                v = v[i+1:]
index 24ec5aa11b01deaa9d6b6075a3f700623e995c9e..0705277019c991970f4b651fdf7859714fd4f874 100644 (file)
@@ -34,6 +34,10 @@ stderr 'compile.* -p z3.* -e '
 ! go build -gcflags=-d=ssa/ z1
 stderr 'PhaseOptions usage'
 
+# check for valid -ldflags parameter
+! go build '-ldflags="-X main.X=Hello"'
+stderr 'invalid value'
+
 # -ldflags for implicit test package applies to test binary
 go test -c -n -gcflags=-N -ldflags=-X=x.y=z z1
 stderr 'compile.* -N .*z_test.go'