]> Cypherpunks.ru repositories - gostls13.git/commitdiff
flag: Check for Set error
authorMichalis Kargakis <michaliskargakis@gmail.com>
Sun, 21 Dec 2014 22:03:11 +0000 (23:03 +0100)
committerRob Pike <r@golang.org>
Mon, 22 Dec 2014 00:17:07 +0000 (00:17 +0000)
Check for Set error when a boolean flag isn't explicitly given a value.

Fixes #9345

Change-Id: I97a1289f8cf27567d1a726ebe5ef167c800f357c
Reviewed-on: https://go-review.googlesource.com/1897
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
src/flag/flag.go

index 25660054a7cdb32ce2b48f27ac3062ec91d2962f..8c0e402e38ebe11601d115a0c06b74b5d56daed5 100644 (file)
@@ -767,7 +767,9 @@ func (f *FlagSet) parseOne() (bool, error) {
                                return false, f.failf("invalid boolean value %q for -%s: %v", value, name, err)
                        }
                } else {
-                       fv.Set("true")
+                       if err := fv.Set("true"); err != nil {
+                               return false, f.failf("invalid boolean flag %s: %v", name, err)
+                       }
                }
        } else {
                // It must have a value, which might be the next argument.