Compare commits

...

3 Commits

Author SHA1 Message Date
Andrea Gottardo
b9dc617dda VERSION.txt: this is v1.80.1 (#14932)
Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
2025-02-06 13:38:55 -05:00
James Tucker
dad4c87ca0 net/netmon: add extra panic guard around ParseRIB
We once again have a report of a panic from ParseRIB. This panic guard
should probably remain permanent.

Updates #14201

This reverts commit de9d4b2f88.

Signed-off-by: James Tucker <james@tailscale.com>
(cherry picked from commit 80a100b3cb)
2025-02-06 08:34:29 -08:00
Andrea Gottardo
649a71f8ac VERSION.txt: this is v1.80.0 (#14837)
Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
2025-01-30 12:52:55 -08:00
2 changed files with 14 additions and 2 deletions

View File

@@ -1 +1 @@
1.79.0
1.80.1

View File

@@ -56,7 +56,19 @@ func (m *darwinRouteMon) Receive() (message, error) {
if err != nil {
return nil, err
}
msgs, err := route.ParseRIB(route.RIBTypeRoute, m.buf[:n])
msgs, err := func() (msgs []route.Message, err error) {
defer func() {
// #14201: permanent panic protection, as we have been burned by
// ParseRIB panics too many times.
msg := recover()
if msg != nil {
msgs = nil
m.logf("[unexpected] netmon: panic in route.ParseRIB from % 02x", m.buf[:n])
err = fmt.Errorf("panic in route.ParseRIB: %s", msg)
}
}()
return route.ParseRIB(route.RIBTypeRoute, m.buf[:n])
}()
if err != nil {
if debugRouteMessages {
m.logf("read %d bytes (% 02x), failed to parse RIB: %v", n, m.buf[:n], err)