diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-02-08 23:36:01 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-02-09 11:01:11 +0100 |
commit | de0c30dded45ea9956a2e7b241ce16641b30492f (patch) | |
tree | cb2d39b7c73b02d1180e57877f21641682c29e6f | |
parent | 1ab00f3e3cac1754abcb1d91edf01198b24a32a2 (diff) | |
download | VeraCrypt-de0c30dded45ea9956a2e7b241ce16641b30492f.tar.gz VeraCrypt-de0c30dded45ea9956a2e7b241ce16641b30492f.zip |
Static Code Analysis: handle unused variables more properly. Catch STL exception. Add more checks. Add proper cast to arithmetic operations.
-rw-r--r-- | src/Common/Cmdline.c | 4 | ||||
-rw-r--r-- | src/Common/Combo.c | 2 | ||||
-rw-r--r-- | src/Common/Dictionary.c | 12 | ||||
-rw-r--r-- | src/Common/Fat.c | 9 | ||||
-rw-r--r-- | src/Common/Fat.h | 2 | ||||
-rw-r--r-- | src/Common/Format.h | 2 | ||||
-rw-r--r-- | src/Common/Language.c | 5 | ||||
-rw-r--r-- | src/Common/Password.c | 2 | ||||
-rw-r--r-- | src/Common/Random.c | 2 | ||||
-rw-r--r-- | src/ExpandVolume/WinMain.cpp | 1 |
10 files changed, 23 insertions, 18 deletions
diff --git a/src/Common/Cmdline.c b/src/Common/Cmdline.c index f1f9a8fc..a455b982 100644 --- a/src/Common/Cmdline.c +++ b/src/Common/Cmdline.c @@ -27,8 +27,8 @@ not. - see DialogProc */
BOOL CALLBACK CommandHelpDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
- if (lParam); /* remove warning */
- if (wParam); /* remove warning */
+ UNREFERENCED_PARAMETER (lParam); /* remove warning */
+ UNREFERENCED_PARAMETER (wParam); /* remove warning */
switch (msg)
{
diff --git a/src/Common/Combo.c b/src/Common/Combo.c index 850cd020..cc1d5bbf 100644 --- a/src/Common/Combo.c +++ b/src/Common/Combo.c @@ -157,7 +157,7 @@ void LoadCombo (HWND hComboBox) void DumpCombo (HWND hComboBox, int bClear)
{
FILE *f;
- int i, nComboIdx[SIZEOF_MRU_LIST];
+ int i, nComboIdx[SIZEOF_MRU_LIST] = {0};
if (bClear)
{
diff --git a/src/Common/Dictionary.c b/src/Common/Dictionary.c index 382e6b70..d6203e6b 100644 --- a/src/Common/Dictionary.c +++ b/src/Common/Dictionary.c @@ -22,11 +22,15 @@ static size_t DataPoolSize = 0; void AddDictionaryEntry (char *key, int intKey, void *value)
{
- if (key)
- StringKeyMap[key] = value;
+ try
+ {
+ if (key)
+ StringKeyMap[key] = value;
- if (intKey != 0)
- IntKeyMap[intKey] = value;
+ if (intKey != 0)
+ IntKeyMap[intKey] = value;
+ }
+ catch (exception&) {}
}
diff --git a/src/Common/Fat.c b/src/Common/Fat.c index b6138528..2adafd78 100644 --- a/src/Common/Fat.c +++ b/src/Common/Fat.c @@ -60,7 +60,7 @@ GetFatParams (fatparams * ft) if (ft->cluster_size == 0)
ft->cluster_size = 1;
- if (ft->cluster_size * ft->sector_size > TC_MAX_FAT_CLUSTER_SIZE)
+ if (((unsigned __int64) ft->cluster_size * ft->sector_size) > TC_MAX_FAT_CLUSTER_SIZE)
ft->cluster_size = TC_MAX_FAT_CLUSTER_SIZE / ft->sector_size;
if (ft->cluster_size > 128)
@@ -85,7 +85,7 @@ GetFatParams (fatparams * ft) ft->size_fat = 12;
ft->reserved = 2;
fatsecs = ft->num_sectors - (ft->size_root_dir + ft->sector_size - 1) / ft->sector_size - ft->reserved;
- ft->cluster_count = (int) (((__int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
+ ft->cluster_count = (int) (((unsigned __int64) fatsecs * ft->sector_size) / ((unsigned __int64) ft->cluster_size * ft->sector_size));
ft->fat_length = (((ft->cluster_count * 3 + 1) >> 1) + ft->sector_size - 1) / ft->sector_size;
if (ft->cluster_count >= 4085) // FAT16
@@ -108,7 +108,7 @@ GetFatParams (fatparams * ft) fatsecs = ft->num_sectors - ft->reserved;
ft->size_root_dir = ft->cluster_size * ft->sector_size;
- ft->cluster_count = (int) (((__int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
+ ft->cluster_count = (int) (((unsigned __int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
ft->fat_length = (ft->cluster_count * 4 + ft->sector_size - 1) / ft->sector_size;
// Align data area on TC_MAX_VOLUME_SECTOR_SIZE
@@ -282,7 +282,8 @@ FormatFat (void* hwndDlgPtr, unsigned __int64 startSector, fatparams * ft, void memset (sector, 0, ft->sector_size);
- RandgetBytes (hwndDlg, ft->volume_id, sizeof (ft->volume_id), FALSE);
+ if (!RandgetBytes (hwndDlg, ft->volume_id, sizeof (ft->volume_id), FALSE))
+ goto fail;
PutBoot (ft, (unsigned char *) sector);
if (WriteSector (dev, sector, write_buf, &write_buf_cnt, &nSecNo,
diff --git a/src/Common/Fat.h b/src/Common/Fat.h index 59c993b3..cbb7e0d4 100644 --- a/src/Common/Fat.h +++ b/src/Common/Fat.h @@ -19,7 +19,7 @@ typedef struct fatparams_t int size_fat; /* size of FAT */
int fats;
int media;
- int cluster_size;
+ unsigned int cluster_size;
int fat_length;
uint16 dir_entries;
uint16 sector_size;
diff --git a/src/Common/Format.h b/src/Common/Format.h index 3422fecf..584d98d9 100644 --- a/src/Common/Format.h +++ b/src/Common/Format.h @@ -33,7 +33,7 @@ typedef struct int pkcs5;
uint32 headerFlags;
int fileSystem;
- int clusterSize;
+ unsigned int clusterSize;
BOOL sparseFileSwitch;
BOOL quickFormat;
int sectorSize;
diff --git a/src/Common/Language.c b/src/Common/Language.c index 3ec95dba..7853d18c 100644 --- a/src/Common/Language.c +++ b/src/Common/Language.c @@ -64,6 +64,7 @@ static char *MapNextLanguageFile () WIN32_FIND_DATAW find;
HANDLE file;
DWORD read;
+ BOOL bStatus;
if (LanguageFileFindHandle == INVALID_HANDLE_VALUE)
{
@@ -107,9 +108,9 @@ static char *MapNextLanguageFile () return NULL;
}
- ReadFile (file, LanguageFileBuffer, find.nFileSizeLow, &read, NULL);
+ bStatus = ReadFile (file, LanguageFileBuffer, find.nFileSizeLow, &read, NULL);
CloseHandle (file);
- if (read != find.nFileSizeLow)
+ if (!bStatus || (read != find.nFileSizeLow))
{
free(LanguageFileBuffer);
return NULL;
diff --git a/src/Common/Password.c b/src/Common/Password.c index f8fd3c1c..b1584dbe 100644 --- a/src/Common/Password.c +++ b/src/Common/Password.c @@ -32,7 +32,7 @@ void VerifyPasswordAndUpdate (HWND hwndDlg, HWND hButton, HWND hPassword, int k = GetWindowTextLength (hPassword);
BOOL bEnable = FALSE;
- if (hwndDlg); /* Remove warning */
+ UNREFERENCED_PARAMETER (hwndDlg); /* Remove warning */
GetWindowText (hPassword, szTmp1, sizeof (szTmp1));
GetWindowText (hVerify, szTmp2, sizeof (szTmp2));
diff --git a/src/Common/Random.c b/src/Common/Random.c index cd85957f..e8433c27 100644 --- a/src/Common/Random.c +++ b/src/Common/Random.c @@ -534,7 +534,7 @@ LRESULT CALLBACK KeyboardProc (int nCode, WPARAM wParam, LPARAM lParam) /* This is the thread function which will poll the system for randomness */
static unsigned __stdcall PeriodicFastPollThreadProc (void *dummy)
{
- if (dummy); /* Remove unused parameter warning */
+ UNREFERENCED_PARAMETER (dummy); /* Remove unused parameter warning */
for (;;)
{
diff --git a/src/ExpandVolume/WinMain.cpp b/src/ExpandVolume/WinMain.cpp index 7940b3d2..f107c98f 100644 --- a/src/ExpandVolume/WinMain.cpp +++ b/src/ExpandVolume/WinMain.cpp @@ -817,7 +817,6 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa { static UINT taskBarCreatedMsg; WORD lw = LOWORD (wParam); - WORD hw = HIWORD (wParam); switch (uMsg) { |