From 84b85babc00b4b8460e53b6ee110bfb49e9311cf Mon Sep 17 00:00:00 2001 From: Zach Reyes <39203661+zasweq@users.noreply.github.com> Date: Thu, 1 Feb 2024 19:03:47 -0500 Subject: [PATCH] xds/googledirectpath: Check if ipv6 address is non empty (#6959) --- xds/googledirectpath/utils.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xds/googledirectpath/utils.go b/xds/googledirectpath/utils.go index de33cf48d..32a28a167 100644 --- a/xds/googledirectpath/utils.go +++ b/xds/googledirectpath/utils.go @@ -24,6 +24,7 @@ import ( "io" "net/http" "net/url" + "strings" "sync" "time" ) @@ -85,11 +86,15 @@ var ( // Defined as var to be overridden in tests. var getIPv6Capable = func(timeout time.Duration) bool { ipv6CapableOnce.Do(func() { - _, err := getFromMetadata(timeout, ipv6URL) + addr, err := getFromMetadata(timeout, ipv6URL) if err != nil { logger.Warningf("could not discover ipv6 capability: %v", err) return } + if trimmedAddr := strings.TrimSpace(string(addr)); trimmedAddr == "" { + logger.Warningf("metadata server returned empty ipv6 address") + return + } ipv6Capable = true }) return ipv6Capable