diff --git a/ipv4/helper.go b/ipv4/helper.go index a4457d60..25e75680 100644 --- a/ipv4/helper.go +++ b/ipv4/helper.go @@ -24,14 +24,15 @@ var ( errNoSuchMulticastInterface = errors.New("no such multicast interface") errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) - // See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html. + // See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html. freebsdVersion uint32 compatFreeBSD32 bool // 386 emulation on amd64 ) // See golang.org/issue/30899. func adjustFreeBSD32(m *socket.Message) { - if freebsdVersion >= 1103000 { + // FreeBSD 12.0-RELEASE is affected by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737 + if freebsdVersion >= 1200086 && freebsdVersion < 1201000 { l := (m.NN + 4 - 1) &^ (4 - 1) if m.NN < l && l <= len(m.OOB) { m.NN = l