|
|
@@ -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
|