bugfix: Added nil checks
This commit is contained in:
parent
c917d1b1e7
commit
c86bf629f9
|
|
@ -43,6 +43,10 @@ func parseCommandForReplacements(shellCommand string, values map[string]string,
|
|||
}
|
||||
|
||||
func parseActionExec(values map[string]string, action *config.Action, entity *entities.Entity) ([]string, error) {
|
||||
if action == nil {
|
||||
return nil, fmt.Errorf("action is nil")
|
||||
}
|
||||
|
||||
for _, arg := range action.Arguments {
|
||||
argName := arg.Name
|
||||
argValue := values[argName]
|
||||
|
|
|
|||
|
|
@ -435,6 +435,13 @@ func stepParseArgs(req *ExecutionRequest) bool {
|
|||
|
||||
mangleInvalidArgumentValues(req)
|
||||
|
||||
if req.Binding == nil || req.Binding.Action == nil {
|
||||
err = fmt.Errorf("cannot parse arguments: Binding or Action is nil")
|
||||
req.logEntry.Output = err.Error()
|
||||
log.Warn(err.Error())
|
||||
return false
|
||||
}
|
||||
|
||||
if len(req.Binding.Action.Exec) > 0 {
|
||||
req.useDirectExec = true
|
||||
req.execArgs, err = parseActionExec(req.Arguments, req.Binding.Action, req.Binding.Entity)
|
||||
|
|
@ -585,6 +592,12 @@ func stepExec(req *ExecutionRequest) bool {
|
|||
cmd = wrapCommandInShell(ctx, req.finalParsedCommand)
|
||||
}
|
||||
|
||||
if cmd == nil {
|
||||
req.logEntry.Output = "Cannot execute: no command arguments provided"
|
||||
log.Warn("Cannot execute: no command arguments provided")
|
||||
return false
|
||||
}
|
||||
|
||||
cmd.Stdout = streamer
|
||||
cmd.Stderr = streamer
|
||||
cmd.Env = buildEnv(req.Arguments)
|
||||
|
|
|
|||
Loading…
Reference in New Issue