diff options
author | Michalis Kargakis <michaliskargakis@gmail.com> | 2014-12-21 23:03:11 +0100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2014-12-22 00:17:07 +0000 |
commit | bc611a31a5b3003ba6c05d337093f9b83e898209 (patch) | |
tree | 0be8aabaa8f54f132b08582ca16699d18e6cc971 /src/flag | |
parent | e4c2229e4c174a258499bde8f8f2729a4afc4c96 (diff) | |
download | go-bc611a31a5b3003ba6c05d337093f9b83e898209.tar.gz go-bc611a31a5b3003ba6c05d337093f9b83e898209.zip |
flag: Check for Set error
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>
Diffstat (limited to 'src/flag')
-rw-r--r-- | src/flag/flag.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/flag/flag.go b/src/flag/flag.go index 25660054a7..8c0e402e38 100644 --- a/src/flag/flag.go +++ b/src/flag/flag.go @@ -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. |