From e4e5bb8bf53a5c8bd49f58e587235137cbbda5d1 Mon Sep 17 00:00:00 2001 From: Beman Date: Tue, 30 Dec 2014 10:48:46 -0500 Subject: [PATCH] Fix ticket #6945 by applying patch from Kaylyn Bogle --- src/operations.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/operations.cpp b/src/operations.cpp index 0971dbd..fad4070 100644 --- a/src/operations.cpp +++ b/src/operations.cpp @@ -663,14 +663,13 @@ namespace BOOL resize_file_api(const wchar_t* p, boost::uintmax_t size) { - HANDLE handle = CreateFileW(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, 0); + handle_wrapper h(CreateFileW(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, 0)); LARGE_INTEGER sz; sz.QuadPart = size; - return handle != INVALID_HANDLE_VALUE - && ::SetFilePointerEx(handle, sz, 0, FILE_BEGIN) - && ::SetEndOfFile(handle) - && ::CloseHandle(handle); + return h.handle != INVALID_HANDLE_VALUE + && ::SetFilePointerEx(h.handle, sz, 0, FILE_BEGIN) + && ::SetEndOfFile(h.handle); } // Windows kernel32.dll functions that may or may not be present