From ae7ec4802a81770ff164e465b8d1fb51624ca093 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Sun, 7 Feb 2016 02:07:38 +0100 Subject: Windows:Fix various issues and warnings reported by static code analysis tool Coverity. --- src/Format/InPlace.c | 12 +++++++++++- src/Format/Tcformat.c | Bin 645228 -> 645430 bytes 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/Format') diff --git a/src/Format/InPlace.c b/src/Format/InPlace.c index aa1e83c4..a6b6abeb 100644 --- a/src/Format/InPlace.c +++ b/src/Format/InPlace.c @@ -414,7 +414,7 @@ int EncryptPartitionInPlaceBegin (volatile FORMAT_VOL_PARAMETERS *volParams, vol dataAreaSize = GetVolumeDataAreaSize (volParams->hiddenVol, deviceSize); - StringCbCopyW (deviceName, sizeof(deviceName), volParams->volumePath); + StringCchCopyW (deviceName, ARRAYSIZE(deviceName), volParams->volumePath); driveLetter = GetDiskDeviceDriveLetter (deviceName); @@ -1284,6 +1284,16 @@ int DecryptPartitionInPlace (volatile FORMAT_VOL_PARAMETERS *volParams, volatile goto closing_seq; } + if ( (driveGeometry.BytesPerSector == 0) + || (driveGeometry.BytesPerSector > TC_MAX_VOLUME_SECTOR_SIZE) + || (driveGeometry.BytesPerSector % ENCRYPTION_DATA_UNIT_SIZE != 0) + ) + { + Error ("SECTOR_SIZE_UNSUPPORTED", hwndDlg); + nStatus = ERR_DONT_REPORT; + goto closing_seq; + } + sectorSize = driveGeometry.BytesPerSector; diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c index aa63f0a4..25be494d 100644 Binary files a/src/Format/Tcformat.c and b/src/Format/Tcformat.c differ -- cgit v1.2.3