Skip to content

Commit 4c649e3

Browse files
committed
Prevent panic when trying to serialize nil pointer in Enum
1 parent a13937c commit 4c649e3

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

definition.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,10 @@ func (gt *Enum) Values() []*EnumValueDefinition {
964964
}
965965
func (gt *Enum) Serialize(value interface{}) interface{} {
966966
v := value
967-
if reflect.ValueOf(v).Kind() == reflect.Ptr {
967+
rv := reflect.ValueOf(v)
968+
if kind := rv.Kind(); kind == reflect.Ptr && rv.IsNil() {
969+
return nil
970+
} else if kind == reflect.Ptr {
968971
v = reflect.Indirect(reflect.ValueOf(v)).Interface()
969972
}
970973
if enumValue, ok := gt.getValueLookup()[v]; ok {

0 commit comments

Comments
 (0)