Skip to content

Commit

Permalink
Fix a panic caused by setting interface to nil instead of a interface…
Browse files Browse the repository at this point in the history
… with a nil value
  • Loading branch information
jakeschuurmans committed Aug 28, 2024
1 parent 17e96e1 commit bd925d7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 10 deletions.
2 changes: 1 addition & 1 deletion internal/flipflop/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func (cth *ConditionTaskHandler) HandleTask(ctx context.Context, genTask *rctype
cth.publisher = publisher

// Ungeneric the task
task, err := NewTask(genTask, cth.cfg.FaultInjection)
task, err := NewTask(genTask)
if err != nil {
cth.logger.WithFields(logrus.Fields{
"conditionID": genTask.ID,
Expand Down
13 changes: 4 additions & 9 deletions internal/flipflop/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

type Task rctypes.Task[*rctypes.ServerControlTaskParameters, json.RawMessage]

func NewTask(task *rctypes.Task[any, any], faultInjection bool) (*Task, error) {
func NewTask(task *rctypes.Task[any, any]) (*Task, error) {
paramsJSON, ok := task.Parameters.(json.RawMessage)
if !ok {
return nil, errInvalideConditionParams
Expand All @@ -28,14 +28,9 @@ func NewTask(task *rctypes.Task[any, any], faultInjection bool) (*Task, error) {
return nil, errors.Wrap(errTaskConv, err.Error()+": Task.Server")
}

var fault interface{}
if faultInjection {
fault, err = copystructure.Copy(task.Fault)
if err != nil {
return nil, errors.Wrap(errTaskConv, err.Error()+": Task.Fault")
}
} else {
fault = nil
fault, err := copystructure.Copy(task.Fault)
if err != nil {
return nil, errors.Wrap(errTaskConv, err.Error()+": Task.Fault")
}

return &Task{
Expand Down

0 comments on commit bd925d7

Please sign in to comment.