diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-06-26 13:27:48 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-06-26 13:27:48 +0200 |
commit | 5e6eff81b6f7f18b3dd24bec03ea71f009a3e938 (patch) | |
tree | 4455136832e529cdcf39949d6214f72205d37698 | |
parent | c69d02664924e11ffc5e6728638216a26b81c4ce (diff) |
tun: windows: inform wintun of maximum buffer length for writes
-rw-r--r-- | tun/tun_windows.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tun/tun_windows.go b/tun/tun_windows.go index 05fc3df..1de74e6 100644 --- a/tun/tun_windows.go +++ b/tun/tun_windows.go @@ -141,6 +141,12 @@ func (tun *NativeTun) openTUN() error { } return err } + firstSize := (*uint32)(unsafe.Pointer(&tun.wrBuff.data[0])) + saved := *firstSize + *firstSize = 0 + // Set the maximum buffer length with an invalid write. + tun.tunFileWrite.Write(tun.wrBuff.data[:]) + *firstSize = saved } return nil } |