aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-12-15 02:32:46 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2021-12-16 03:14:14 +0100
commit1c2ca6c204c5e615e7c78c2607777338914b5f0e (patch)
treeb265c24815abb38f6cee3b7feb446789ab397249
parentglobal: interface{} -> any (diff)
downloadwireguard-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.go5
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))