mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows: make VeraCrypt Expander able to resume expansion of volumes whose previous expansion was aborted before it finishes
This commit is contained in:
@@ -717,7 +717,7 @@ void ExpandVolumeWizard (HWND hwndDlg, wchar_t *lpszVolume)
|
|||||||
|
|
||||||
if ( !bIsDevice )
|
if ( !bIsDevice )
|
||||||
{
|
{
|
||||||
if ( newVolumeSize < hostSize + TC_MINVAL_FS_EXPAND)
|
if ( (newVolumeSize < hostSize + TC_MINVAL_FS_EXPAND) && ((hostSize == volSize) || (newVolumeSize != hostSize) || ((hostSize - volSize) < TC_MINVAL_FS_EXPAND)))
|
||||||
{
|
{
|
||||||
StringCbPrintfW(szTmp,sizeof(szTmp),L"New volume size too small, must be at least %I64u kB larger than the current size.",TC_MINVAL_FS_EXPAND/BYTES_PER_KB);
|
StringCbPrintfW(szTmp,sizeof(szTmp),L"New volume size too small, must be at least %I64u kB larger than the current size.",TC_MINVAL_FS_EXPAND/BYTES_PER_KB);
|
||||||
MessageBoxW (hwndDlg, szTmp, lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
MessageBoxW (hwndDlg, szTmp, lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
||||||
|
|||||||
@@ -750,13 +750,24 @@ static int ExpandVolume (HWND hwndDlg, wchar_t *lpszVolume, Password *pVolumePas
|
|||||||
|
|
||||||
liNewSize.QuadPart=(LONGLONG)newHostSize;
|
liNewSize.QuadPart=(LONGLONG)newHostSize;
|
||||||
|
|
||||||
// Preallocate the file
|
if (hostSize != newHostSize)
|
||||||
if (!SetFilePointerEx (dev, liNewSize, NULL, FILE_BEGIN)
|
|
||||||
|| !SetEndOfFile (dev)
|
|
||||||
|| SetFilePointer (dev, 0, NULL, FILE_BEGIN) != 0)
|
|
||||||
{
|
{
|
||||||
nStatus = ERR_OS_ERROR;
|
// Preallocate the file
|
||||||
goto error;
|
if (!SetFilePointerEx (dev, liNewSize, NULL, FILE_BEGIN)
|
||||||
|
|| !SetEndOfFile (dev)
|
||||||
|
|| SetFilePointer (dev, 0, NULL, FILE_BEGIN) != 0)
|
||||||
|
{
|
||||||
|
nStatus = ERR_OS_ERROR;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (SetFilePointer (dev, 0, NULL, FILE_BEGIN) != 0)
|
||||||
|
{
|
||||||
|
nStatus = ERR_OS_ERROR;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user