From 3e35ef93c08437a69678ff88abd88a57c9fb3918 Mon Sep 17 00:00:00 2001 From: Iceber Gu Date: Mon, 26 Jul 2021 18:15:22 +0800 Subject: [PATCH] client-go/events: avoid referencing a nil related object Kubernetes-commit: 822eb29b6f333317798e5b88fc43fb28b5f33b69 --- tools/events/event_recorder.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/events/event_recorder.go b/tools/events/event_recorder.go index 2837cc16..c824404e 100644 --- a/tools/events/event_recorder.go +++ b/tools/events/event_recorder.go @@ -48,9 +48,13 @@ func (recorder *recorderImpl) Eventf(regarding runtime.Object, related runtime.O klog.Errorf("Could not construct reference to: '%#v' due to: '%v'. Will not report event: '%v' '%v' '%v'", regarding, err, eventtype, reason, message) return } - refRelated, err := reference.GetReference(recorder.scheme, related) - if err != nil { - klog.V(9).Infof("Could not construct reference to: '%#v' due to: '%v'.", related, err) + + var refRelated *v1.ObjectReference + if related != nil { + refRelated, err = reference.GetReference(recorder.scheme, related) + if err != nil { + klog.V(9).Infof("Could not construct reference to: '%#v' due to: '%v'.", related, err) + } } if !util.ValidateEventType(eventtype) { klog.Errorf("Unsupported event type: '%v'", eventtype)