From ba6c63e3664aa2cbd2e251a8da66183e67630316 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 8 Jun 2021 10:14:35 +0100 Subject: [PATCH] Fix `full_path_from_name` allocator behaviour --- core/os/stat_windows.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/os/stat_windows.odin b/core/os/stat_windows.odin index 6b8fa012f..f76efa60f 100644 --- a/core/os/stat_windows.odin +++ b/core/os/stat_windows.odin @@ -11,14 +11,14 @@ full_path_from_name :: proc(name: string, allocator := context.allocator) -> (pa } p := win32.utf8_to_utf16(name, context.temp_allocator); buf := make([dynamic]u16, 100, allocator); + defer delete(buf); for { n := win32.GetFullPathNameW(raw_data(p), u32(len(buf)), raw_data(buf), nil); if n == 0 { - delete(buf); return "", Errno(win32.GetLastError()); } if n <= u32(len(buf)) { - return win32.utf16_to_utf8(buf[:n]), ERROR_NONE; + return win32.utf16_to_utf8(buf[:n], allocator), ERROR_NONE; } resize(&buf, len(buf)*2); }