Index: src/libchcore/TLocalFilesystem.cpp =================================================================== diff -u -N -rad4fe0f8085b15527158073aa76eb2d9ef80b0e5 -rfa8e76fc12b88c7ad1c6bf87ac502ce79c31d0ae --- src/libchcore/TLocalFilesystem.cpp (.../TLocalFilesystem.cpp) (revision ad4fe0f8085b15527158073aa76eb2d9ef80b0e5) +++ src/libchcore/TLocalFilesystem.cpp (.../TLocalFilesystem.cpp) (revision fa8e76fc12b88c7ad1c6bf87ac502ce79c31d0ae) @@ -324,6 +324,8 @@ BOOL bResult = DeviceIoControl(hDevice, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, NULL, 0, pVolumeDiskExtents, stSize, &dwBytesReturned, NULL); if (!bResult) { + CloseHandle(hDevice); + // NOTE: when ERROR_INVALID_FUNCTION is reported here, it probably means that underlying volume // cannot support IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS properly (such case includes TrueCrypt volumes) return std::numeric_limits::max();