go-9102.patch 1.1 KB

12345678910111213141516171819202122
  1. --- src/syscall/route_openbsd.go.orig Fri Jul 25 23:38:47 2014
  2. +++ src/syscall/route_openbsd.go Fri Jul 25 23:39:20 2014
  3. @@ -12,16 +12,16 @@ func (any *anyMessage) toRoutingMessage(b []byte) Rout
  4. switch any.Type {
  5. case RTM_ADD, RTM_DELETE, RTM_CHANGE, RTM_GET, RTM_LOSING, RTM_REDIRECT, RTM_MISS, RTM_LOCK, RTM_RESOLVE:
  6. p := (*RouteMessage)(unsafe.Pointer(any))
  7. - return &RouteMessage{Header: p.Header, Data: b[SizeofRtMsghdr:any.Msglen]}
  8. + return &RouteMessage{Header: p.Header, Data: b[p.Header.Hdrlen:any.Msglen]}
  9. case RTM_IFINFO:
  10. p := (*InterfaceMessage)(unsafe.Pointer(any))
  11. - return &InterfaceMessage{Header: p.Header, Data: b[SizeofIfMsghdr:any.Msglen]}
  12. + return &InterfaceMessage{Header: p.Header, Data: b[p.Header.Hdrlen:any.Msglen]}
  13. case RTM_IFANNOUNCE:
  14. p := (*InterfaceAnnounceMessage)(unsafe.Pointer(any))
  15. return &InterfaceAnnounceMessage{Header: p.Header}
  16. case RTM_NEWADDR, RTM_DELADDR:
  17. p := (*InterfaceAddrMessage)(unsafe.Pointer(any))
  18. - return &InterfaceAddrMessage{Header: p.Header, Data: b[SizeofIfaMsghdr:any.Msglen]}
  19. + return &InterfaceAddrMessage{Header: p.Header, Data: b[p.Header.Hdrlen:any.Msglen]}
  20. }
  21. return nil
  22. }