From 90d92ef6840dd882aff7a5915966924e1d804b79 Mon Sep 17 00:00:00 2001 From: Timo Behrendt Date: Fri, 7 Nov 2025 17:08:23 +0100 Subject: [PATCH] fix(externalIpProvider/plain): when reading response body --- pkg/externalIpProvider/plain/plain.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/externalIpProvider/plain/plain.go b/pkg/externalIpProvider/plain/plain.go index 3fed9ad..cc0b112 100644 --- a/pkg/externalIpProvider/plain/plain.go +++ b/pkg/externalIpProvider/plain/plain.go @@ -2,6 +2,7 @@ package externalIpProvider import ( "errors" + "io" "net" "net/http" "net/url" @@ -40,12 +41,15 @@ func (p *ExternalIpProviderImplPlain) GetExternalIp() (net.IP, error) { } if res.StatusCode != 200 { + res.Body.Close() return nil, errors.New("unexpected status code") } - responseBody := make([]byte, res.ContentLength) - res.Body.Read(responseBody) - defer res.Body.Close() + responseBody, err := io.ReadAll(res.Body) + res.Body.Close() + if err != nil { + return nil, err + } parsedIp := net.ParseIP(string(responseBody)) if parsedIp == nil {