You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
route: treat short sockaddr lengths as unspecified
Previously, we enforced minimum length requirements for sockaddr, but
the route command can legitimately parse shorter lengths. This change
treats any sockaddr with length less than the address offset as an
unspecified address (0.0.0.0 for IPv4 or :: for IPv6), as discern by
monitoring the route command.
To replicate the issue, prior to the fix, execute the following:
First,
```console
route -n monitor
```
Next,
```console
sudo route -n add -inet6 -ifscope en11 -net :: \
-netmask :: fe80::2d0:4cff:fe10:15d2
```
The route command that is actively monitor will print something such
as,
```console
RTM_ADD: Add Route: len 152, pid: 81198, seq 1, errno 0, ifscope 13, flags:<UP,GATEWAY,DONE,STATIC,IFSCOPE>
locks: inits:
sockaddrs: <DST,GATEWAY,NETMASK>
:: fe80::2d0:4cff:fe10:15d2 ::
```
Prior to the fix, if you had parse the above message, PareRIB would have
returned errInvalidAddr which is clearly false.
Fixesgolang/go#71557
0 commit comments