Avoid panic for missing flag value
Currently, in cases where a flag value is required but not passed and short-option handling is enabled, a panic will occur due to a nil pointer dereference. This prevents that situation from occurring, instead propagating the appropriate error.
This commit is contained in:
committed by
Ajitem Sahasrabuddhe
parent
f12b8ca4e5
commit
7d46b6d7f1
12
command.go
12
command.go
@@ -175,16 +175,16 @@ func (c *Command) useShortOptionHandling() bool {
|
||||
}
|
||||
|
||||
func (c *Command) parseFlags(args Args) (*flag.FlagSet, error) {
|
||||
if c.SkipFlagParsing {
|
||||
set, err := c.newFlagSet()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
set, err := c.newFlagSet()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if c.SkipFlagParsing {
|
||||
return set, set.Parse(append([]string{"--"}, args.Tail()...))
|
||||
}
|
||||
|
||||
set, err := parseIter(c, args.Tail())
|
||||
err = parseIter(set, c, args.Tail())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user