From 48b4807b333cbe5a365cfc051493d70dee372b58 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 22 Oct 2022 08:57:49 -0500 Subject: [PATCH] Fix some reflect Kind checks to first check for nil fixes https://github.com/jackc/pgx/issues/1335 --- pgtype/pgtype.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgtype/pgtype.go b/pgtype/pgtype.go index 726cd63b..a234b855 100644 --- a/pgtype/pgtype.go +++ b/pgtype/pgtype.go @@ -1800,7 +1800,7 @@ func TryWrapStructEncodePlan(value any) (plan WrappedEncodePlanNextSetter, nextV return nil, nil, false } - if reflect.TypeOf(value).Kind() == reflect.Struct { + if valueType := reflect.TypeOf(value); valueType != nil && valueType.Kind() == reflect.Struct { exportedFields := getExportedFieldValues(reflect.ValueOf(value)) if len(exportedFields) == 0 { return nil, nil, false @@ -1867,7 +1867,7 @@ func TryWrapSliceEncodePlan(value any) (plan WrappedEncodePlanNextSetter, nextVa return &wrapSliceEncodePlan[time.Time]{}, (FlatArray[time.Time])(value), true } - if reflect.TypeOf(value).Kind() == reflect.Slice { + if valueType := reflect.TypeOf(value); valueType != nil && valueType.Kind() == reflect.Slice { w := anySliceArrayReflect{ slice: reflect.ValueOf(value), }