From b01f68f343fa7cbf6560c499edfb0427751e200b Mon Sep 17 00:00:00 2001 From: Sander van Harmelen Date: Sat, 22 Jul 2017 09:58:58 +0200 Subject: [PATCH] provisioner/chef: fix panic Fixes #15431 Fixes #15500 --- .../provisioners/chef/resource_provisioner.go | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/builtin/provisioners/chef/resource_provisioner.go b/builtin/provisioners/chef/resource_provisioner.go index f1de6d524..a459bbe76 100644 --- a/builtin/provisioners/chef/resource_provisioner.go +++ b/builtin/provisioners/chef/resource_provisioner.go @@ -782,18 +782,18 @@ func decodeConfig(d *schema.ResourceData) (*provisioner, error) { } func getStringList(v interface{}) []string { - if v == nil { - return nil - } - switch l := v.(type) { - case []string: - return l + var result []string + + switch v := v.(type) { + case nil: + return result case []interface{}: - arr := make([]string, len(l)) - for i, x := range l { - arr[i] = x.(string) + for _, vv := range v { + if vv, ok := vv.(string); ok { + result = append(result, vv) + } } - return arr + return result default: panic(fmt.Sprintf("Unsupported type: %T", v)) }