diff options
author | 2021-12-15 02:32:46 +0100 | |
---|---|---|
committer | 2021-12-16 03:14:14 +0100 | |
commit | 1c2ca6c204c5e615e7c78c2607777338914b5f0e (patch) | |
tree | b265c24815abb38f6cee3b7feb446789ab397249 | |
parent | global: interface{} -> any (diff) | |
download | wireguard-windows-1c2ca6c204c5e615e7c78c2607777338914b5f0e.tar.xz wireguard-windows-1c2ca6c204c5e615e7c78c2607777338914b5f0e.zip |
ringlogger: have caller cleanup inherited handle on failure
Reported-by: shuaidonga <1181157720@qq.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | ringlogger/ringlogger.go | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/ringlogger/ringlogger.go b/ringlogger/ringlogger.go index e002b2fe..276b689e 100644 --- a/ringlogger/ringlogger.go +++ b/ringlogger/ringlogger.go @@ -63,6 +63,7 @@ func NewRinglogger(filename, tag string) (*Ringlogger, error) { } rl, err := newRingloggerFromMappingHandle(mapping, tag, windows.FILE_MAP_WRITE) if err != nil { + windows.CloseHandle(mapping) return nil, err } rl.file = file @@ -82,10 +83,6 @@ func newRingloggerFromMappingHandle(mappingHandle windows.Handle, tag string, ac if err != nil { return nil, err } - if err != nil { - windows.CloseHandle(mappingHandle) - return nil, err - } log := (*logMem)(unsafe.Pointer(view)) if log.magic != magic { bytes := (*[unsafe.Sizeof(logMem{})]byte)(unsafe.Pointer(log)) |