]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
device: do not crash on nil'd bind in windows binding
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 18 Jul 2019 17:34:45 +0000 (19:34 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 18 Jul 2019 17:34:45 +0000 (19:34 +0200)
device/boundif_windows.go

index b842ba878d4b86d7fd5f093621e24e79b9a4cb72..7879a43785e31808d19fda1bc1ac7c09f215c4f5 100644 (file)
@@ -7,6 +7,7 @@ package device
 
 import (
        "encoding/binary"
+       "errors"
        "unsafe"
 
        "golang.org/x/sys/windows"
@@ -23,6 +24,10 @@ func (device *Device) BindSocketToInterface4(interfaceIndex uint32) error {
        binary.BigEndian.PutUint32(bytes, interfaceIndex)
        interfaceIndex = *(*uint32)(unsafe.Pointer(&bytes[0]))
 
+       if device.net.bind == nil {
+               return errors.New("Bind is not yet initialized")
+       }
+
        sysconn, err := device.net.bind.(*nativeBind).ipv4.SyscallConn()
        if err != nil {
                return err