From a7b5a1e024e4ca14325e14229e9761c31430db92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20St=C3=A4bler?= Date: Wed, 12 Jun 2024 09:35:26 +0200 Subject: [PATCH 1/2] Fix possible nil pointer dereference in event-dispatcher --- pkg/kncloudevents/event_dispatcher.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/kncloudevents/event_dispatcher.go b/pkg/kncloudevents/event_dispatcher.go index a80a17f6e41..19440a551d9 100644 --- a/pkg/kncloudevents/event_dispatcher.go +++ b/pkg/kncloudevents/event_dispatcher.go @@ -330,7 +330,7 @@ func (d *Dispatcher) executeRequest(ctx context.Context, target duckv1.Addressab if isFailure(response.StatusCode) { // Read response body into dispatchInfo for failures if readErr != nil && readErr != io.EOF { - dispatchInfo.ResponseBody = []byte(fmt.Sprintf("dispatch resulted in status \"%s\". Could not read response body: error: %s", response.Status, err.Error())) + dispatchInfo.ResponseBody = []byte(fmt.Sprintf("dispatch resulted in status \"%s\". Could not read response body: error: %s", response.Status, readErr.Error())) } else { dispatchInfo.ResponseBody = body.Bytes() } @@ -342,7 +342,7 @@ func (d *Dispatcher) executeRequest(ctx context.Context, target duckv1.Addressab var responseMessageBody []byte if readErr != nil && readErr != io.EOF { - responseMessageBody = []byte(fmt.Sprintf("Failed to read response body: %s", err.Error())) + responseMessageBody = []byte(fmt.Sprintf("Failed to read response body: %s", readErr.Error())) } else { responseMessageBody = body.Bytes() dispatchInfo.ResponseBody = responseMessageBody From c8b7b8089a7a2d719ff7d70305b0f58e3480c500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20St=C3=A4bler?= Date: Wed, 12 Jun 2024 10:48:05 +0200 Subject: [PATCH 2/2] readErr -> err --- pkg/kncloudevents/event_dispatcher.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/kncloudevents/event_dispatcher.go b/pkg/kncloudevents/event_dispatcher.go index 19440a551d9..a62cddd764a 100644 --- a/pkg/kncloudevents/event_dispatcher.go +++ b/pkg/kncloudevents/event_dispatcher.go @@ -325,12 +325,12 @@ func (d *Dispatcher) executeRequest(ctx context.Context, target duckv1.Addressab dispatchInfo.ResponseHeader = response.Header body := new(bytes.Buffer) - _, readErr := body.ReadFrom(response.Body) + _, err = body.ReadFrom(response.Body) if isFailure(response.StatusCode) { // Read response body into dispatchInfo for failures - if readErr != nil && readErr != io.EOF { - dispatchInfo.ResponseBody = []byte(fmt.Sprintf("dispatch resulted in status \"%s\". Could not read response body: error: %s", response.Status, readErr.Error())) + if err != nil && err != io.EOF { + dispatchInfo.ResponseBody = []byte(fmt.Sprintf("dispatch resulted in status \"%s\". Could not read response body: error: %s", response.Status, err.Error())) } else { dispatchInfo.ResponseBody = body.Bytes() } @@ -341,8 +341,8 @@ func (d *Dispatcher) executeRequest(ctx context.Context, target duckv1.Addressab } var responseMessageBody []byte - if readErr != nil && readErr != io.EOF { - responseMessageBody = []byte(fmt.Sprintf("Failed to read response body: %s", readErr.Error())) + if err != nil && err != io.EOF { + responseMessageBody = []byte(fmt.Sprintf("Failed to read response body: %s", err.Error())) } else { responseMessageBody = body.Bytes() dispatchInfo.ResponseBody = responseMessageBody