VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2015-02-08 23:36:01 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2015-02-09 11:01:11 +0100
commitde0c30dded45ea9956a2e7b241ce16641b30492f (patch)
treecb2d39b7c73b02d1180e57877f21641682c29e6f /src
parent1ab00f3e3cac1754abcb1d91edf01198b24a32a2 (diff)
downloadVeraCrypt-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.
Diffstat (limited to 'src')
-rw-r--r--src/Common/Cmdline.c4
-rw-r--r--src/Common/Combo.c2
-rw-r--r--src/Common/Dictionary.c12
-rw-r--r--src/Common/Fat.c9
-rw-r--r--src/Common/Fat.h2
-rw-r--r--src/Common/Format.h2
-rw-r--r--src/Common/Language.c5
-rw-r--r--src/Common/Password.c2
-rw-r--r--src/Common/Random.c2
-rw-r--r--src/ExpandVolume/WinMain.cpp1
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)
{