Boost logo

Boost :

Subject: [boost] [filesystem] resize_file_api leaks a HANDLE
From: Peter Dimov (lists_at_[hidden])
Date: 2014-12-30 08:40:50


... when SetFilePointerEx or SetEndOfFile fails.

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);
  LARGE_INTEGER sz;
  sz.QuadPart = size;
  return handle != INVALID_HANDLE_VALUE
    && ::SetFilePointerEx(handle, sz, 0, FILE_BEGIN)
    && ::SetEndOfFile(handle)
    && ::CloseHandle(handle);
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk