From 847abb23f03ca911bd9ed7dbdef97ac2c5469145 Mon Sep 17 00:00:00 2001 From: kovalev0 <107109684+kovalev0@users.noreply.github.com> Date: Sun, 8 Oct 2023 16:36:15 +0300 Subject: [PATCH] Fix warnings and throwing an exception instead of ignoring the error (#1229) * EMVCard.cpp: ArrayToHexWideString: prohibit conversion of a string constant ../Common/EMVCard.cpp: In function 'std::wstring VeraCrypt::ArrayToHexWideString(con st unsigned char*, size_t)': ../Common/EMVCard.cpp:28:43: warning: ISO C++ forbids converting a string constant to 'wchar_t*' [-Wwrite-strings] 28 | static wchar_t* hexChar = L"0123456789ABCDEF"; | ^~~~~~~~~~~~~~~~~~~ Signed-off-by: Vasiliy Kovalev * EMVCard.cpp: ArrayToHexWideString: fix of the comparison of different types ../Common/EMVCard.cpp: In function 'std::wstring VeraCrypt::ArrayToHexWideString(con st unsigned char*, size_t)': ../Common/EMVCard.cpp:32:43: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] 32 | for (int i = 0; i < cbData; i++) | ~~^~~~~~~~ Signed-off-by: Vasiliy Kovalev * SecurityTokenKeyfilesDialog.cpp: removed initialization of an unused variable Forms/SecurityTokenKeyfilesDialog.cpp:58:24: warning: unused variable 'i' [-Wunused- variable] 58 | size_t i = 0; | ^ Signed-off-by: Vasiliy Kovalev * Core/Unix: throwing an exception instead of ignoring the error Fixes: 5a6b445f ("fix warnings and UB (#1164)") Signed-off-by: Vasiliy Kovalev --------- Signed-off-by: Vasiliy Kovalev Co-authored-by: Vasiliy Kovalev --- src/Common/EMVCard.cpp | 4 ++-- src/Core/Unix/CoreUnix.cpp | 5 +---- src/Main/Forms/SecurityTokenKeyfilesDialog.cpp | 1 - 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Common/EMVCard.cpp b/src/Common/EMVCard.cpp index 5f694240..e96422b1 100644 --- a/src/Common/EMVCard.cpp +++ b/src/Common/EMVCard.cpp @@ -25,11 +25,11 @@ namespace VeraCrypt #ifndef TC_WINDOWS wstring ArrayToHexWideString(const unsigned char * pbData, size_t cbData) { - static wchar_t* hexChar = L"0123456789ABCDEF"; + static const wchar_t* hexChar = L"0123456789ABCDEF"; wstring result; if (pbData) { - for (int i = 0; i < cbData; i++) + for (size_t i = 0; i < cbData; i++) { result += hexChar[pbData[i] >> 4]; result += hexChar[pbData[i] & 0x0F]; diff --git a/src/Core/Unix/CoreUnix.cpp b/src/Core/Unix/CoreUnix.cpp index 0b248fb9..258979b9 100644 --- a/src/Core/Unix/CoreUnix.cpp +++ b/src/Core/Unix/CoreUnix.cpp @@ -22,9 +22,6 @@ #include "Driver/Fuse/FuseService.h" #include "Volume/VolumePasswordCache.h" -template -inline void ignore_result(const T & /* unused result */) {} - namespace VeraCrypt { #ifdef TC_LINUX @@ -694,7 +691,7 @@ namespace VeraCrypt { try { - ignore_result(chown (mountPoint.c_str(), GetRealUserId(), GetRealGroupId())); + throw_sys_sub_if (chown (mountPoint.c_str(), GetRealUserId(), GetRealGroupId()) == -1, mountPoint); } catch (...) { } } } diff --git a/src/Main/Forms/SecurityTokenKeyfilesDialog.cpp b/src/Main/Forms/SecurityTokenKeyfilesDialog.cpp index d78e22fd..8f51cfa8 100644 --- a/src/Main/Forms/SecurityTokenKeyfilesDialog.cpp +++ b/src/Main/Forms/SecurityTokenKeyfilesDialog.cpp @@ -55,7 +55,6 @@ namespace VeraCrypt SecurityTokenKeyfileListCtrl->DeleteAllItems(); SecurityTokenKeyfileList = Token::GetAvailableKeyfiles(Gui->GetPreferences().EMVSupportEnabled); - size_t i = 0; foreach (const shared_ptr key, SecurityTokenKeyfileList) { vector fields (SecurityTokenKeyfileListCtrl->GetColumnCount());