netlink: ignore route updates with no destination (#1437)
Some checks failed
gofmt / Run gofmt (push) Has been cancelled
smoke-extra / Run extra smoke tests (push) Has been cancelled
smoke / Run multi node smoke test (push) Has been cancelled
Build and test / Build all and test on ubuntu-linux (push) Has been cancelled
Build and test / Build and test on linux with boringcrypto (push) Has been cancelled
Build and test / Build and test on linux with pkcs11 (push) Has been cancelled
Build and test / Build and test on macos-latest (push) Has been cancelled
Build and test / Build and test on windows-latest (push) Has been cancelled

Currently we assume each route update must have a destination, but we
should check that it is set before we try to use it.

See: #1436
This commit is contained in:
Wade Simmons 2025-08-25 14:05:35 -04:00 committed by GitHub
parent 7da79685ff
commit 5cff83b282
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -638,6 +638,11 @@ func (t *tun) updateRoutes(r netlink.RouteUpdate) {
return
}
if r.Dst == nil {
t.l.WithField("route", r).Debug("Ignoring route update, no destination address")
return
}
dstAddr, ok := netip.AddrFromSlice(r.Dst.IP)
if !ok {
t.l.WithField("route", r).Debug("Ignoring route update, invalid destination address")