diff options
Diffstat (limited to 'src/Main/Forms')
-rw-r--r-- | src/Main/Forms/VolumeSizeWizardPage.cpp | 10 | ||||
-rw-r--r-- | src/Main/Forms/VolumeSizeWizardPage.h | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/Main/Forms/VolumeSizeWizardPage.cpp b/src/Main/Forms/VolumeSizeWizardPage.cpp index f4044418..3781b05d 100644 --- a/src/Main/Forms/VolumeSizeWizardPage.cpp +++ b/src/Main/Forms/VolumeSizeWizardPage.cpp @@ -21,7 +21,8 @@ namespace VeraCrypt MaxVolumeSize (0), MaxVolumeSizeValid (false), MinVolumeSize (1), - SectorSize (sectorSize) + SectorSize (sectorSize), + AvailableDiskSpace (0) { VolumeSizePrefixChoice->Append (LangString["KB"], reinterpret_cast <void *> (1024)); VolumeSizePrefixChoice->Append (LangString["MB"], reinterpret_cast <void *> (1024 * 1024)); @@ -34,6 +35,10 @@ namespace VeraCrypt VolumeSizeTextCtrl->Disable(); VolumeSizeTextCtrl->SetValue (L""); } + else + { + AvailableDiskSpace = (uint64) diskSpace.GetValue (); + } FreeSpaceStaticText->SetFont (Gui->GetDefaultBoldFont (this)); @@ -97,7 +102,8 @@ namespace VeraCrypt { try { - if (GetVolumeSize() >= MinVolumeSize && (!MaxVolumeSizeValid || GetVolumeSize() <= MaxVolumeSize)) + uint64 uiVolumeSize = GetVolumeSize(); + if (uiVolumeSize >= MinVolumeSize && (!MaxVolumeSizeValid || uiVolumeSize <= MaxVolumeSize) && (CmdLine->ArgDisableFileSizeCheck || !AvailableDiskSpace || uiVolumeSize <= AvailableDiskSpace)) return true; } catch (...) { } diff --git a/src/Main/Forms/VolumeSizeWizardPage.h b/src/Main/Forms/VolumeSizeWizardPage.h index e12a5a79..aac41f99 100644 --- a/src/Main/Forms/VolumeSizeWizardPage.h +++ b/src/Main/Forms/VolumeSizeWizardPage.h @@ -49,6 +49,7 @@ namespace VeraCrypt bool MaxVolumeSizeValid; uint64 MinVolumeSize; uint32 SectorSize; + uint64 AvailableDiskSpace; }; } |