From 35d9fc7a316c5f55e66a929b8449ce1fd9c79ca0 Mon Sep 17 00:00:00 2001 From: Aymen Date: Mon, 21 Aug 2017 17:12:01 +0100 Subject: [PATCH] fix preload on nil pointer --- utils.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/utils.go b/utils.go index 97a3d175..091a3de2 100644 --- a/utils.go +++ b/utils.go @@ -266,11 +266,13 @@ func getValueFromFields(value reflect.Value, fieldNames []string) (results []int if indirectValue := reflect.Indirect(value); indirectValue.IsValid() { for _, fieldName := range fieldNames { if fieldValue := indirectValue.FieldByName(fieldName); fieldValue.IsValid() { - result := fieldValue.Interface() - if r, ok := result.(driver.Valuer); ok { - result, _ = r.Value() + if indirect(fieldValue).IsValid() { + result := fieldValue.Interface() + if r, ok := result.(driver.Valuer); ok { + result, _ = r.Value() + } + results = append(results, result) } - results = append(results, result) } } }