reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811)

fix a nil pointer dereference in AUpstreams.GetUpstreams when AUpstreams.Versions is not set (fixes caddyserver#5809)

Signed-off-by: Pascal Vorwerk <info@fossores.de>
This commit is contained in:
Pascal Vorwerk 2023-09-11 01:08:02 +02:00 committed by GitHub
parent 2cac3c5491
commit 1e0dea59ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -297,8 +297,8 @@ func (au *AUpstreams) Provision(_ caddy.Context) error {
func (au AUpstreams) GetUpstreams(r *http.Request) ([]*Upstream, error) {
repl := r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer)
resolveIpv4 := au.Versions.IPv4 == nil || *au.Versions.IPv4
resolveIpv6 := au.Versions.IPv6 == nil || *au.Versions.IPv6
resolveIpv4 := au.Versions == nil || au.Versions.IPv4 == nil || *au.Versions.IPv4
resolveIpv6 := au.Versions == nil || au.Versions.IPv6 == nil || *au.Versions.IPv6
// Map ipVersion early, so we can use it as part of the cache-key.
// This should be fairly inexpensive and comes and the upside of