From 138548ee992b3b70c9e75e81f9aaa1744d49adfe Mon Sep 17 00:00:00 2001 From: Lei Pan Date: Fri, 1 Jun 2018 21:01:09 -0700 Subject: [PATCH] verify that the modelType is a struct before interating through NumField (#135) --- resource.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/resource.go b/resource.go index 48e3a12a..26df9e5d 100644 --- a/resource.go +++ b/resource.go @@ -730,12 +730,14 @@ func (res *Resource) configure() { configureModel = func(value interface{}) { modelType := utils.ModelType(value) - for i := 0; i < modelType.NumField(); i++ { - if fieldStruct := modelType.Field(i); fieldStruct.Anonymous { - if injector, ok := reflect.New(fieldStruct.Type).Interface().(resource.ConfigureResourceInterface); ok { - injector.ConfigureQorResource(res) - } else { - configureModel(reflect.New(fieldStruct.Type).Interface()) + if modelType.Kind() == reflect.Struct { + for i := 0; i < modelType.NumField(); i++ { + if fieldStruct := modelType.Field(i); fieldStruct.Anonymous { + if injector, ok := reflect.New(fieldStruct.Type).Interface().(resource.ConfigureResourceInterface); ok { + injector.ConfigureQorResource(res) + } else { + configureModel(reflect.New(fieldStruct.Type).Interface()) + } } } }