diff options
Diffstat (limited to 'libgo/go/golang_org/x/net/route/message.go')
-rw-r--r-- | libgo/go/golang_org/x/net/route/message.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libgo/go/golang_org/x/net/route/message.go b/libgo/go/golang_org/x/net/route/message.go index 27cbf6b77ac..d7ae0eb50fc 100644 --- a/libgo/go/golang_org/x/net/route/message.go +++ b/libgo/go/golang_org/x/net/route/message.go @@ -42,6 +42,12 @@ func ParseRIB(typ RIBType, b []byte) ([]Message, error) { for len(b) > 4 { nmsgs++ l := int(nativeEndian.Uint16(b[:2])) + if l == 0 { + return nil, errInvalidMessage + } + if len(b) < l { + return nil, errMessageTooShort + } if b[2] != sysRTM_VERSION { b = b[l:] continue |