diff options
Diffstat (limited to 'src/Common/Volumes.c')
-rw-r--r-- | src/Common/Volumes.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/Common/Volumes.c b/src/Common/Volumes.c index 506a4d04..15ee8fe6 100644 --- a/src/Common/Volumes.c +++ b/src/Common/Volumes.c | |||
@@ -33,6 +33,9 @@ | |||
33 | #include "Volumes.h" | 33 | #include "Volumes.h" |
34 | #include "Pkcs5.h" | 34 | #include "Pkcs5.h" |
35 | 35 | ||
36 | #ifdef _WIN32 | ||
37 | #include <Strsafe.h> | ||
38 | #endif | ||
36 | 39 | ||
37 | /* Volume header v5 structure (used since TrueCrypt 7.0): */ | 40 | /* Volume header v5 structure (used since TrueCrypt 7.0): */ |
38 | // | 41 | // |
@@ -187,6 +190,9 @@ int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, PCR | |||
187 | } | 190 | } |
188 | else | 191 | else |
189 | { | 192 | { |
193 | if (!retInfo) | ||
194 | return ERR_PARAMETER_INCORRECT; | ||
195 | |||
190 | cryptoInfo = *retInfo = crypto_open (); | 196 | cryptoInfo = *retInfo = crypto_open (); |
191 | if (cryptoInfo == NULL) | 197 | if (cryptoInfo == NULL) |
192 | return ERR_OUTOFMEMORY; | 198 | return ERR_OUTOFMEMORY; |
@@ -934,16 +940,16 @@ int CreateVolumeHeaderInMemory (BOOL bBoot, char *header, int ea, int mode, Pass | |||
934 | for (i = 0; i < j; i++) | 940 | for (i = 0; i < j; i++) |
935 | { | 941 | { |
936 | char tmp2[8] = {0}; | 942 | char tmp2[8] = {0}; |
937 | sprintf (tmp2, "%02X", (int) (unsigned char) keyInfo.master_keydata[i + primaryKeyOffset]); | 943 | StringCbPrintfA (tmp2, sizeof(tmp2), "%02X", (int) (unsigned char) keyInfo.master_keydata[i + primaryKeyOffset]); |
938 | strcat (MasterKeyGUIView, tmp2); | 944 | StringCbCatA (MasterKeyGUIView, sizeof(MasterKeyGUIView), tmp2); |
939 | } | 945 | } |
940 | 946 | ||
941 | HeaderKeyGUIView[0] = 0; | 947 | HeaderKeyGUIView[0] = 0; |
942 | for (i = 0; i < NBR_KEY_BYTES_TO_DISPLAY; i++) | 948 | for (i = 0; i < NBR_KEY_BYTES_TO_DISPLAY; i++) |
943 | { | 949 | { |
944 | char tmp2[8]; | 950 | char tmp2[8]; |
945 | sprintf (tmp2, "%02X", (int) (unsigned char) dk[primaryKeyOffset + i]); | 951 | StringCbPrintfA (tmp2, sizeof(tmp2), "%02X", (int) (unsigned char) dk[primaryKeyOffset + i]); |
946 | strcat (HeaderKeyGUIView, tmp2); | 952 | StringCbCatA (HeaderKeyGUIView, sizeof(HeaderKeyGUIView), tmp2); |
947 | } | 953 | } |
948 | 954 | ||
949 | if (dots3) | 955 | if (dots3) |