diff options
Diffstat (limited to 'src/Format/Tcformat.c')
-rw-r--r-- | src/Format/Tcformat.c | 188 |
1 files changed, 95 insertions, 93 deletions
diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c index 0074a169..d0b247fa 100644 --- a/src/Format/Tcformat.c +++ b/src/Format/Tcformat.c | |||
@@ -48,6 +48,8 @@ | |||
48 | #include "Wipe.h" | 48 | #include "Wipe.h" |
49 | #include "Xml.h" | 49 | #include "Xml.h" |
50 | 50 | ||
51 | #include <Strsafe.h> | ||
52 | |||
51 | using namespace VeraCrypt; | 53 | using namespace VeraCrypt; |
52 | 54 | ||
53 | enum wizard_pages | 55 | enum wizard_pages |
@@ -1217,7 +1219,7 @@ void ComboSelChangeEA (HWND hwndDlg) | |||
1217 | switch (cnt) // Number of ciphers in the cascade | 1219 | switch (cnt) // Number of ciphers in the cascade |
1218 | { | 1220 | { |
1219 | case 2: | 1221 | case 2: |
1220 | swprintf (auxLine, GetString ("TWO_LAYER_CASCADE_HELP"), | 1222 | StringCbPrintfW (auxLine, sizeof(auxLine), GetString ("TWO_LAYER_CASCADE_HELP"), |
1221 | CipherGetName (cipherIDs[1]), | 1223 | CipherGetName (cipherIDs[1]), |
1222 | CipherGetKeySize (cipherIDs[1])*8, | 1224 | CipherGetKeySize (cipherIDs[1])*8, |
1223 | CipherGetName (cipherIDs[0]), | 1225 | CipherGetName (cipherIDs[0]), |
@@ -1225,7 +1227,7 @@ void ComboSelChangeEA (HWND hwndDlg) | |||
1225 | break; | 1227 | break; |
1226 | 1228 | ||
1227 | case 3: | 1229 | case 3: |
1228 | swprintf (auxLine, GetString ("THREE_LAYER_CASCADE_HELP"), | 1230 | StringCbPrintfW (auxLine, sizeof(auxLine), GetString ("THREE_LAYER_CASCADE_HELP"), |
1229 | CipherGetName (cipherIDs[2]), | 1231 | CipherGetName (cipherIDs[2]), |
1230 | CipherGetKeySize (cipherIDs[2])*8, | 1232 | CipherGetKeySize (cipherIDs[2])*8, |
1231 | CipherGetName (cipherIDs[1]), | 1233 | CipherGetName (cipherIDs[1]), |
@@ -1235,7 +1237,7 @@ void ComboSelChangeEA (HWND hwndDlg) | |||
1235 | break; | 1237 | break; |
1236 | } | 1238 | } |
1237 | 1239 | ||
1238 | wcscpy_s (hyperLink, sizeof(hyperLink) / 2, GetString ("IDC_LINK_MORE_INFO_ABOUT_CIPHER")); | 1240 | StringCbCopyW (hyperLink, sizeof(hyperLink), GetString ("IDC_LINK_MORE_INFO_ABOUT_CIPHER")); |
1239 | 1241 | ||
1240 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), auxLine); | 1242 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), auxLine); |
1241 | } | 1243 | } |
@@ -1454,11 +1456,11 @@ static void UpdateSysEncProgressBar (void) | |||
1454 | // Status | 1456 | // Status |
1455 | 1457 | ||
1456 | if (locBootEncStatus.TransformWaitingForIdle) | 1458 | if (locBootEncStatus.TransformWaitingForIdle) |
1457 | wcscpy (tmpStr, GetString ("PROGRESS_STATUS_WAITING")); | 1459 | StringCbCopyW (tmpStr, sizeof(tmpStr), GetString ("PROGRESS_STATUS_WAITING")); |
1458 | else | 1460 | else |
1459 | wcscpy (tmpStr, GetString (SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING ? "PROGRESS_STATUS_DECRYPTING" : "PROGRESS_STATUS_ENCRYPTING")); | 1461 | StringCbCopyW (tmpStr, sizeof(tmpStr), GetString (SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING ? "PROGRESS_STATUS_DECRYPTING" : "PROGRESS_STATUS_ENCRYPTING")); |
1460 | 1462 | ||
1461 | wcscat (tmpStr, L" "); | 1463 | StringCbCatW (tmpStr, sizeof(tmpStr), L" "); |
1462 | 1464 | ||
1463 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), tmpStr); | 1465 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), tmpStr); |
1464 | } | 1466 | } |
@@ -1518,17 +1520,17 @@ static void UpdateSysEncControls (void) | |||
1518 | { | 1520 | { |
1519 | wchar_t tmpStr[100]; | 1521 | wchar_t tmpStr[100]; |
1520 | 1522 | ||
1521 | wcscpy (tmpStr, GetString ((SysDriveOrPartitionFullyEncrypted (TRUE) || !locBootEncStatus.DriveMounted) ? | 1523 | StringCbCopyW (tmpStr, sizeof(tmpStr), GetString ((SysDriveOrPartitionFullyEncrypted (TRUE) || !locBootEncStatus.DriveMounted) ? |
1522 | "PROGRESS_STATUS_FINISHED" : "PROGRESS_STATUS_PAUSED")); | 1524 | "PROGRESS_STATUS_FINISHED" : "PROGRESS_STATUS_PAUSED")); |
1523 | wcscat (tmpStr, L" "); | 1525 | StringCbCatW (tmpStr, sizeof(tmpStr), L" "); |
1524 | 1526 | ||
1525 | // Status | 1527 | // Status |
1526 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), tmpStr); | 1528 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), tmpStr); |
1527 | 1529 | ||
1528 | if (SysDriveOrPartitionFullyEncrypted (TRUE) || SystemEncryptionStatus == SYSENC_STATUS_NONE) | 1530 | if (SysDriveOrPartitionFullyEncrypted (TRUE) || SystemEncryptionStatus == SYSENC_STATUS_NONE) |
1529 | { | 1531 | { |
1530 | wcscpy (tmpStr, GetString ("PROCESSED_PORTION_100_PERCENT")); | 1532 | StringCbCopyW (tmpStr, sizeof(tmpStr), GetString ("PROCESSED_PORTION_100_PERCENT")); |
1531 | wcscat (tmpStr, L" "); | 1533 | StringCbCatW (tmpStr, sizeof(tmpStr), L" "); |
1532 | 1534 | ||
1533 | SetWindowTextW (GetDlgItem (hCurPage, IDC_BYTESWRITTEN), tmpStr); | 1535 | SetWindowTextW (GetDlgItem (hCurPage, IDC_BYTESWRITTEN), tmpStr); |
1534 | } | 1536 | } |
@@ -1699,9 +1701,9 @@ static BOOL GetDevicePathForHiddenOS (void) | |||
1699 | 1701 | ||
1700 | try | 1702 | try |
1701 | { | 1703 | { |
1702 | strncpy (szFileName, BootEncObj->GetPartitionForHiddenOS().DevicePath.c_str(), sizeof(szFileName) - 1); | 1704 | StringCbCopyA (szFileName, sizeof(szFileName), BootEncObj->GetPartitionForHiddenOS().DevicePath.c_str()); |
1703 | 1705 | ||
1704 | CreateFullVolumePath (szDiskFile, szFileName, &tmpbDevice); | 1706 | CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), szFileName, &tmpbDevice); |
1705 | } | 1707 | } |
1706 | catch (Exception &e) | 1708 | catch (Exception &e) |
1707 | { | 1709 | { |
@@ -1804,29 +1806,29 @@ void ShowNonSysInPlaceEncUIStatus (void) | |||
1804 | switch (NonSysInplaceEncStatus) | 1806 | switch (NonSysInplaceEncStatus) |
1805 | { | 1807 | { |
1806 | case NONSYS_INPLACE_ENC_STATUS_PAUSED: | 1808 | case NONSYS_INPLACE_ENC_STATUS_PAUSED: |
1807 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_PAUSED")); | 1809 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_PAUSED")); |
1808 | break; | 1810 | break; |
1809 | case NONSYS_INPLACE_ENC_STATUS_PREPARING: | 1811 | case NONSYS_INPLACE_ENC_STATUS_PREPARING: |
1810 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_PREPARING")); | 1812 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_PREPARING")); |
1811 | break; | 1813 | break; |
1812 | case NONSYS_INPLACE_ENC_STATUS_RESIZING: | 1814 | case NONSYS_INPLACE_ENC_STATUS_RESIZING: |
1813 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_RESIZING")); | 1815 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_RESIZING")); |
1814 | break; | 1816 | break; |
1815 | case NONSYS_INPLACE_ENC_STATUS_ENCRYPTING: | 1817 | case NONSYS_INPLACE_ENC_STATUS_ENCRYPTING: |
1816 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_ENCRYPTING")); | 1818 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_ENCRYPTING")); |
1817 | break; | 1819 | break; |
1818 | case NONSYS_INPLACE_ENC_STATUS_FINALIZING: | 1820 | case NONSYS_INPLACE_ENC_STATUS_FINALIZING: |
1819 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_FINALIZING")); | 1821 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_FINALIZING")); |
1820 | break; | 1822 | break; |
1821 | case NONSYS_INPLACE_ENC_STATUS_FINISHED: | 1823 | case NONSYS_INPLACE_ENC_STATUS_FINISHED: |
1822 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_FINISHED")); | 1824 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_FINISHED")); |
1823 | break; | 1825 | break; |
1824 | case NONSYS_INPLACE_ENC_STATUS_ERROR: | 1826 | case NONSYS_INPLACE_ENC_STATUS_ERROR: |
1825 | wcscpy (nonSysInplaceEncUIStatus, GetString ("PROGRESS_STATUS_ERROR")); | 1827 | StringCbCopyW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), GetString ("PROGRESS_STATUS_ERROR")); |
1826 | break; | 1828 | break; |
1827 | } | 1829 | } |
1828 | 1830 | ||
1829 | wcscat (nonSysInplaceEncUIStatus, L" "); | 1831 | StringCbCatW (nonSysInplaceEncUIStatus, sizeof(nonSysInplaceEncUIStatus), L" "); |
1830 | 1832 | ||
1831 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), nonSysInplaceEncUIStatus); | 1833 | SetWindowTextW (GetDlgItem (hCurPage, IDC_WRITESPEED), nonSysInplaceEncUIStatus); |
1832 | } | 1834 | } |
@@ -1974,10 +1976,10 @@ void DisplayRandPool (HWND hPoolDisplay, BOOL bShow) | |||
1974 | { | 1976 | { |
1975 | tmpByte = randPool[row * RANDPOOL_DISPLAY_COLUMNS + col]; | 1977 | tmpByte = randPool[row * RANDPOOL_DISPLAY_COLUMNS + col]; |
1976 | 1978 | ||
1977 | sprintf ((char *) tmp, bRandPoolDispAscii ? ((tmpByte >= 32 && tmpByte < 255 && tmpByte != '&') ? " %c " : " . ") : "%02X ", tmpByte); | 1979 | StringCbPrintfA ((char *) tmp, sizeof(tmp), bRandPoolDispAscii ? ((tmpByte >= 32 && tmpByte < 255 && tmpByte != '&') ? " %c " : " . ") : "%02X ", tmpByte); |
1978 | strcat ((char *) outRandPoolDispBuffer, (char *) tmp); | 1980 | StringCbCatA ((char *) outRandPoolDispBuffer, sizeof(outRandPoolDispBuffer), (char *) tmp); |
1979 | } | 1981 | } |
1980 | strcat ((char *) outRandPoolDispBuffer, "\n"); | 1982 | StringCbCatA ((char *) outRandPoolDispBuffer, sizeof(outRandPoolDispBuffer), "\n"); |
1981 | } | 1983 | } |
1982 | SetWindowText (hPoolDisplay, (char *) outRandPoolDispBuffer); | 1984 | SetWindowText (hPoolDisplay, (char *) outRandPoolDispBuffer); |
1983 | 1985 | ||
@@ -2300,7 +2302,7 @@ static void __cdecl volTransformThreadFunction (void *hwndDlgArg) | |||
2300 | 2302 | ||
2301 | if (! ((bHiddenVol && !bHiddenVolHost) && errno != EACCES)) // Only ask ask for permission to overwrite an existing volume if we're not creating a hidden volume | 2303 | if (! ((bHiddenVol && !bHiddenVolHost) && errno != EACCES)) // Only ask ask for permission to overwrite an existing volume if we're not creating a hidden volume |
2302 | { | 2304 | { |
2303 | _snwprintf (szTmp, sizeof szTmp / 2, | 2305 | StringCbPrintfW (szTmp, sizeof szTmp, |
2304 | GetString (errno == EACCES ? "READONLYPROMPT" : "OVERWRITEPROMPT"), | 2306 | GetString (errno == EACCES ? "READONLYPROMPT" : "OVERWRITEPROMPT"), |
2305 | szDiskFile); | 2307 | szDiskFile); |
2306 | 2308 | ||
@@ -2463,7 +2465,7 @@ static void __cdecl volTransformThreadFunction (void *hwndDlgArg) | |||
2463 | } | 2465 | } |
2464 | else if (!(bHiddenVolHost && hiddenVolHostDriveNo < 0)) // If the error was not that the hidden volume host could not be mounted (this error has already been reported to the user) | 2466 | else if (!(bHiddenVolHost && hiddenVolHostDriveNo < 0)) // If the error was not that the hidden volume host could not be mounted (this error has already been reported to the user) |
2465 | { | 2467 | { |
2466 | swprintf (szMsg, GetString ("CREATE_FAILED"), szDiskFile); | 2468 | StringCbPrintfW (szMsg, sizeof(szMsg), GetString ("CREATE_FAILED"), szDiskFile); |
2467 | MessageBoxW (hwndDlg, szMsg, lpszTitle, ICON_HAND); | 2469 | MessageBoxW (hwndDlg, szMsg, lpszTitle, ICON_HAND); |
2468 | } | 2470 | } |
2469 | 2471 | ||
@@ -2904,11 +2906,11 @@ int PrintFreeSpace (HWND hwndTextBox, char *lpszDrive, PLARGE_INTEGER lDiskFree) | |||
2904 | 2906 | ||
2905 | if (bHiddenVol && !bHiddenVolHost) // If it's a hidden volume | 2907 | if (bHiddenVol && !bHiddenVolHost) // If it's a hidden volume |
2906 | { | 2908 | { |
2907 | _snwprintf (szTmp2, sizeof szTmp2 / 2, GetString (nResourceString), ((double) lDiskFree->QuadPart) / nMultiplier); | 2909 | StringCbPrintfW (szTmp2, sizeof szTmp2, GetString (nResourceString), ((double) lDiskFree->QuadPart) / nMultiplier); |
2908 | SetWindowTextW (GetDlgItem (hwndTextBox, IDC_SIZEBOX), szTmp2); | 2910 | SetWindowTextW (GetDlgItem (hwndTextBox, IDC_SIZEBOX), szTmp2); |
2909 | } | 2911 | } |
2910 | else | 2912 | else |
2911 | _snwprintf (szTmp2, sizeof szTmp2 / 2, GetString (nResourceString), lpszDrive, ((double) lDiskFree->QuadPart) / nMultiplier); | 2913 | StringCbPrintfW (szTmp2, sizeof szTmp2, GetString (nResourceString), lpszDrive, ((double) lDiskFree->QuadPart) / nMultiplier); |
2912 | 2914 | ||
2913 | SetWindowTextW (hwndTextBox, szTmp2); | 2915 | SetWindowTextW (hwndTextBox, szTmp2); |
2914 | 2916 | ||
@@ -2925,7 +2927,7 @@ void DisplaySizingErrorText (HWND hwndTextBox) | |||
2925 | if (translateWin32Error (szTmp, sizeof (szTmp) / sizeof(szTmp[0]))) | 2927 | if (translateWin32Error (szTmp, sizeof (szTmp) / sizeof(szTmp[0]))) |
2926 | { | 2928 | { |
2927 | wchar_t szTmp2[1024]; | 2929 | wchar_t szTmp2[1024]; |
2928 | wsprintfW (szTmp2, L"%s\n%s", GetString ("CANNOT_CALC_SPACE"), szTmp); | 2930 | StringCbPrintfW (szTmp2, sizeof(szTmp2), L"%s\n%s", GetString ("CANNOT_CALC_SPACE"), szTmp); |
2929 | SetWindowTextW (hwndTextBox, szTmp2); | 2931 | SetWindowTextW (hwndTextBox, szTmp2); |
2930 | } | 2932 | } |
2931 | else | 2933 | else |
@@ -3152,8 +3154,8 @@ static BOOL FinalPreTransformPrompts (void) | |||
3152 | int driveNo; | 3154 | int driveNo; |
3153 | WCHAR deviceName[MAX_PATH]; | 3155 | WCHAR deviceName[MAX_PATH]; |
3154 | 3156 | ||
3155 | strcpy ((char *)deviceName, szFileName); | 3157 | StringCbCopyA ((char *)deviceName, sizeof(deviceName), szFileName); |
3156 | ToUNICODE ((char *)deviceName); | 3158 | ToUNICODE ((char *)deviceName, sizeof(deviceName)); |
3157 | 3159 | ||
3158 | driveNo = GetDiskDeviceDriveLetter (deviceName); | 3160 | driveNo = GetDiskDeviceDriveLetter (deviceName); |
3159 | 3161 | ||
@@ -3171,7 +3173,7 @@ static BOOL FinalPreTransformPrompts (void) | |||
3171 | if (!GetDriveLabel (driveNo, volumeLabel, sizeof (volumeLabel))) | 3173 | if (!GetDriveLabel (driveNo, volumeLabel, sizeof (volumeLabel))) |
3172 | volumeLabel[0] = 0; | 3174 | volumeLabel[0] = 0; |
3173 | 3175 | ||
3174 | swprintf_s (drive, sizeof (drive)/2, volumeLabel[0] ? L" (%hc: '%s')" : L" (%hc:%s)", 'A' + driveNo, volumeLabel[0] ? volumeLabel : L""); | 3176 | StringCbPrintfW (drive, sizeof (drive), volumeLabel[0] ? L" (%hc: '%s')" : L" (%hc:%s)", 'A' + driveNo, volumeLabel[0] ? volumeLabel : L""); |
3175 | } | 3177 | } |
3176 | else | 3178 | else |
3177 | { | 3179 | { |
@@ -3180,9 +3182,9 @@ static BOOL FinalPreTransformPrompts (void) | |||
3180 | } | 3182 | } |
3181 | 3183 | ||
3182 | if (bHiddenOS && bHiddenVolHost) | 3184 | if (bHiddenOS && bHiddenVolHost) |
3183 | swprintf (szTmp, GetString ("OVERWRITEPROMPT_DEVICE_HIDDEN_OS_PARTITION"), szFileName, drive); | 3185 | StringCbPrintfW (szTmp, sizeof(szTmp), GetString ("OVERWRITEPROMPT_DEVICE_HIDDEN_OS_PARTITION"), szFileName, drive); |
3184 | else | 3186 | else |
3185 | swprintf (szTmp, GetString (bInPlaceEncNonSys ? "NONSYS_INPLACE_ENC_CONFIRM" : "OVERWRITEPROMPT_DEVICE"), type, szFileName, drive); | 3187 | StringCbPrintfW (szTmp, sizeof(szTmp), GetString (bInPlaceEncNonSys ? "NONSYS_INPLACE_ENC_CONFIRM" : "OVERWRITEPROMPT_DEVICE"), type, szFileName, drive); |
3186 | 3188 | ||
3187 | 3189 | ||
3188 | x = MessageBoxW (MainDlg, szTmp, lpszTitle, YES_NO | MB_ICONWARNING | (bInPlaceEncNonSys ? MB_DEFBUTTON1 : MB_DEFBUTTON2)); | 3190 | x = MessageBoxW (MainDlg, szTmp, lpszTitle, YES_NO | MB_ICONWARNING | (bInPlaceEncNonSys ? MB_DEFBUTTON1 : MB_DEFBUTTON2)); |
@@ -3208,27 +3210,27 @@ static BOOL FinalPreTransformPrompts (void) | |||
3208 | wchar_t tmpMcOption1 [500]; | 3210 | wchar_t tmpMcOption1 [500]; |
3209 | wchar_t tmpMcOptionCancel [50]; | 3211 | wchar_t tmpMcOptionCancel [50]; |
3210 | 3212 | ||
3211 | wcscpy (tmpMcMsg, GetString("OVERWRITEPROMPT_DEVICE_SECOND_WARNING_LOTS_OF_DATA")); | 3213 | StringCbCopyW (tmpMcMsg, sizeof(tmpMcMsg), GetString("OVERWRITEPROMPT_DEVICE_SECOND_WARNING_LOTS_OF_DATA")); |
3212 | wcscpy (tmpMcOption1, GetString("ERASE_FILES_BY_CREATING_VOLUME")); | 3214 | StringCbCopyW (tmpMcOption1, sizeof(tmpMcOption1), GetString("ERASE_FILES_BY_CREATING_VOLUME")); |
3213 | wcscpy (tmpMcOptionCancel, GetString("CANCEL")); | 3215 | StringCbCopyW (tmpMcOptionCancel, sizeof(tmpMcOptionCancel), GetString("CANCEL")); |
3214 | 3216 | ||
3215 | wcscat (tmpMcMsg, L"\n\n"); | 3217 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), L"\n\n"); |
3216 | wcscat (tmpMcMsg, GetString("DRIVE_LETTER_ITEM")); | 3218 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), GetString("DRIVE_LETTER_ITEM")); |
3217 | swprintf_s (szTmp, sizeof (szTmp)/2, L"%hc:", 'A' + driveNo); | 3219 | StringCbPrintfW (szTmp, sizeof (szTmp), L"%hc:", 'A' + driveNo); |
3218 | wcscat (tmpMcMsg, szTmp); | 3220 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), szTmp); |
3219 | 3221 | ||
3220 | wcscat (tmpMcMsg, L"\n"); | 3222 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), L"\n"); |
3221 | wcscat (tmpMcMsg, GetString("LABEL_ITEM")); | 3223 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), GetString("LABEL_ITEM")); |
3222 | wcscat (tmpMcMsg, volumeLabel[0] != 0 ? volumeLabel : GetString("NOT_APPLICABLE_OR_NOT_AVAILABLE")); | 3224 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), volumeLabel[0] != 0 ? volumeLabel : GetString("NOT_APPLICABLE_OR_NOT_AVAILABLE")); |
3223 | 3225 | ||
3224 | wcscat (tmpMcMsg, L"\n"); | 3226 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), L"\n"); |
3225 | wcscat (tmpMcMsg, GetString("SIZE_ITEM")); | 3227 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), GetString("SIZE_ITEM")); |
3226 | GetSizeString (nVolumeSize, szTmp); | 3228 | GetSizeString (nVolumeSize, szTmp, sizeof(szTmp)); |
3227 | wcscat (tmpMcMsg, szTmp); | 3229 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), szTmp); |
3228 | 3230 | ||
3229 | wcscat (tmpMcMsg, L"\n"); | 3231 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), L"\n"); |
3230 | wcscat (tmpMcMsg, GetString("PATH_ITEM")); | 3232 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), GetString("PATH_ITEM")); |
3231 | wcscat (tmpMcMsg, deviceName); | 3233 | StringCbCatW (tmpMcMsg, sizeof(tmpMcMsg), deviceName); |
3232 | 3234 | ||
3233 | wchar_t *tmpStr[] = {L"", tmpMcMsg, tmpMcOption1, tmpMcOptionCancel, 0}; | 3235 | wchar_t *tmpStr[] = {L"", tmpMcMsg, tmpMcOption1, tmpMcOptionCancel, 0}; |
3234 | switch (AskMultiChoice ((void **) tmpStr, TRUE)) | 3236 | switch (AskMultiChoice ((void **) tmpStr, TRUE)) |
@@ -3258,8 +3260,8 @@ void HandleOldAssignedDriveLetter (void) | |||
3258 | WCHAR deviceName[MAX_PATH]; | 3260 | WCHAR deviceName[MAX_PATH]; |
3259 | int driveLetter = -1; | 3261 | int driveLetter = -1; |
3260 | 3262 | ||
3261 | strcpy ((char *)deviceName, szDiskFile); | 3263 | StringCbCopyA ((char *)deviceName, sizeof(deviceName), szDiskFile); |
3262 | ToUNICODE ((char *)deviceName); | 3264 | ToUNICODE ((char *)deviceName, sizeof(deviceName)); |
3263 | driveLetter = GetDiskDeviceDriveLetter (deviceName); | 3265 | driveLetter = GetDiskDeviceDriveLetter (deviceName); |
3264 | 3266 | ||
3265 | if (!bHiddenVolHost | 3267 | if (!bHiddenVolHost |
@@ -3269,7 +3271,7 @@ void HandleOldAssignedDriveLetter (void) | |||
3269 | char rootPath[] = { (char) driveLetter + 'A', ':', '\\', 0 }; | 3271 | char rootPath[] = { (char) driveLetter + 'A', ':', '\\', 0 }; |
3270 | wchar_t szTmp[8192]; | 3272 | wchar_t szTmp[8192]; |
3271 | 3273 | ||
3272 | swprintf (szTmp, GetString ("AFTER_FORMAT_DRIVE_LETTER_WARN"), rootPath[0], rootPath[0], rootPath[0], rootPath[0]); | 3274 | StringCbPrintfW (szTmp, sizeof(szTmp), GetString ("AFTER_FORMAT_DRIVE_LETTER_WARN"), rootPath[0], rootPath[0], rootPath[0], rootPath[0]); |
3273 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING); | 3275 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING); |
3274 | } | 3276 | } |
3275 | } | 3277 | } |
@@ -3302,7 +3304,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3302 | case WM_INITDIALOG: | 3304 | case WM_INITDIALOG: |
3303 | LocalizeDialog (hwndDlg, "IDD_VOL_CREATION_WIZARD_DLG"); | 3305 | LocalizeDialog (hwndDlg, "IDD_VOL_CREATION_WIZARD_DLG"); |
3304 | 3306 | ||
3305 | sprintf (PageDebugId, "FORMAT_PAGE_%d", nCurPageNo); | 3307 | StringCbPrintfA (PageDebugId, sizeof(PageDebugId), "FORMAT_PAGE_%d", nCurPageNo); |
3306 | LastDialogId = PageDebugId; | 3308 | LastDialogId = PageDebugId; |
3307 | 3309 | ||
3308 | switch (nCurPageNo) | 3310 | switch (nCurPageNo) |
@@ -3760,16 +3762,16 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3760 | 3762 | ||
3761 | if (bHiddenVolHost) | 3763 | if (bHiddenVolHost) |
3762 | { | 3764 | { |
3763 | wcsncpy (str, GetString ("SIZE_HELP_HIDDEN_HOST_VOL"), sizeof (str) / 2); | 3765 | StringCbCopyW (str, sizeof(str), GetString ("SIZE_HELP_HIDDEN_HOST_VOL")); |
3764 | } | 3766 | } |
3765 | else | 3767 | else |
3766 | { | 3768 | { |
3767 | wcsncpy (str, GetString (bHiddenVol ? "SIZE_HELP_HIDDEN_VOL" : "SIZE_HELP"), sizeof (str) / 2); | 3769 | StringCbCopyW (str, sizeof(str), GetString (bHiddenVol ? "SIZE_HELP_HIDDEN_VOL" : "SIZE_HELP")); |
3768 | } | 3770 | } |
3769 | 3771 | ||
3770 | if (bDevice && !(bHiddenVol && !bHiddenVolHost)) // If raw device but not a hidden volume | 3772 | if (bDevice && !(bHiddenVol && !bHiddenVolHost)) // If raw device but not a hidden volume |
3771 | { | 3773 | { |
3772 | _snwprintf (str, sizeof str / 2, L"%s%s", | 3774 | StringCbPrintfW (str, sizeof str, L"%s%s", |
3773 | GetString ((bHiddenOS && bHiddenVol) ? "SIZE_PARTITION_HIDDEN_SYSENC_HELP" : "SIZE_PARTITION_HELP"), | 3775 | GetString ((bHiddenOS && bHiddenVol) ? "SIZE_PARTITION_HIDDEN_SYSENC_HELP" : "SIZE_PARTITION_HELP"), |
3774 | (bHiddenVolHost && !bHiddenOS) ? GetString ("SIZE_PARTITION_HIDDEN_VOL_HELP") : L""); | 3776 | (bHiddenVolHost && !bHiddenOS) ? GetString ("SIZE_PARTITION_HIDDEN_VOL_HELP") : L""); |
3775 | } | 3777 | } |
@@ -3823,7 +3825,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3823 | if (nUIVolumeSize != 0) | 3825 | if (nUIVolumeSize != 0) |
3824 | { | 3826 | { |
3825 | char szTmp[32]; | 3827 | char szTmp[32]; |
3826 | sprintf (szTmp, "%I64u", nUIVolumeSize); | 3828 | StringCbPrintfA (szTmp, sizeof(szTmp), "%I64u", nUIVolumeSize); |
3827 | SetWindowText (GetDlgItem (hwndDlg, IDC_SIZEBOX), szTmp); | 3829 | SetWindowText (GetDlgItem (hwndDlg, IDC_SIZEBOX), szTmp); |
3828 | } | 3830 | } |
3829 | 3831 | ||
@@ -3882,7 +3884,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3882 | ToBootPwdField (hwndDlg, IDC_PASSWORD); | 3884 | ToBootPwdField (hwndDlg, IDC_PASSWORD); |
3883 | ToBootPwdField (hwndDlg, IDC_VERIFY); | 3885 | ToBootPwdField (hwndDlg, IDC_VERIFY); |
3884 | 3886 | ||
3885 | sprintf (OrigKeyboardLayout, "%08X", (DWORD) GetKeyboardLayout (NULL) & 0xFFFF); | 3887 | StringCbPrintfA (OrigKeyboardLayout, sizeof(OrigKeyboardLayout), "%08X", (DWORD) GetKeyboardLayout (NULL) & 0xFFFF); |
3886 | 3888 | ||
3887 | if ((DWORD) GetKeyboardLayout (NULL) != 0x00000409 && (DWORD) GetKeyboardLayout (NULL) != 0x04090409) | 3889 | if ((DWORD) GetKeyboardLayout (NULL) != 0x00000409 && (DWORD) GetKeyboardLayout (NULL) != 0x04090409) |
3888 | { | 3890 | { |
@@ -3909,17 +3911,17 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3909 | 3911 | ||
3910 | if (bHiddenVolHost) | 3912 | if (bHiddenVolHost) |
3911 | { | 3913 | { |
3912 | wcsncpy (str, GetString (bHiddenOS ? "PASSWORD_SYSENC_OUTERVOL_HELP" : "PASSWORD_HIDDENVOL_HOST_HELP"), sizeof (str) / 2); | 3914 | StringCbCopyW (str, sizeof(str), GetString (bHiddenOS ? "PASSWORD_SYSENC_OUTERVOL_HELP" : "PASSWORD_HIDDENVOL_HOST_HELP")); |
3913 | } | 3915 | } |
3914 | else if (bHiddenVol) | 3916 | else if (bHiddenVol) |
3915 | { | 3917 | { |
3916 | _snwprintf (str, sizeof str / 2, L"%s%s", | 3918 | StringCbPrintfW (str, sizeof str, L"%s%s", |
3917 | GetString (bHiddenOS ? "PASSWORD_HIDDEN_OS_HELP" : "PASSWORD_HIDDENVOL_HELP"), | 3919 | GetString (bHiddenOS ? "PASSWORD_HIDDEN_OS_HELP" : "PASSWORD_HIDDENVOL_HELP"), |
3918 | GetString ("PASSWORD_HELP")); | 3920 | GetString ("PASSWORD_HELP")); |
3919 | } | 3921 | } |
3920 | else | 3922 | else |
3921 | { | 3923 | { |
3922 | wcsncpy (str, GetString ("PASSWORD_HELP"), sizeof (str) / 2); | 3924 | StringCbCopyW (str, sizeof(str), GetString ("PASSWORD_HELP")); |
3923 | } | 3925 | } |
3924 | 3926 | ||
3925 | SendMessage (GetDlgItem (hwndDlg, IDC_PASSWORD), EM_LIMITTEXT, MAX_PASSWORD, 0); | 3927 | SendMessage (GetDlgItem (hwndDlg, IDC_PASSWORD), EM_LIMITTEXT, MAX_PASSWORD, 0); |
@@ -3966,22 +3968,22 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
3966 | Init2RadButtonPageYesNo (nNeedToStoreFilesOver4GB); | 3968 | Init2RadButtonPageYesNo (nNeedToStoreFilesOver4GB); |
3967 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("FILESYS_PAGE_TITLE")); | 3969 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("FILESYS_PAGE_TITLE")); |
3968 | 3970 | ||
3969 | wcscpy (szTmp, GetString ("FILESYS_PAGE_HELP_QUESTION")); | 3971 | StringCbCopyW (szTmp, sizeof(szTmp), GetString ("FILESYS_PAGE_HELP_QUESTION")); |
3970 | 3972 | ||
3971 | if (bHiddenVolHost) | 3973 | if (bHiddenVolHost) |
3972 | wcscat (szTmp, L"\n\n"); | 3974 | StringCbCatW (szTmp, sizeof(szTmp), L"\n\n"); |
3973 | else | 3975 | else |
3974 | { | 3976 | { |
3975 | wcscat (szTmp, L"\n\n\n"); | 3977 | StringCbCatW (szTmp, sizeof(szTmp), L"\n\n\n"); |
3976 | wcscat (szTmp, GetString ("NOTE_BEGINNING")); | 3978 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("NOTE_BEGINNING")); |
3977 | } | 3979 | } |
3978 | 3980 | ||
3979 | wcscat (szTmp, GetString ("FILESYS_PAGE_HELP_EXPLANATION")); | 3981 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("FILESYS_PAGE_HELP_EXPLANATION")); |
3980 | 3982 | ||
3981 | if (bHiddenVolHost) | 3983 | if (bHiddenVolHost) |
3982 | { | 3984 | { |
3983 | wcscat (szTmp, L" "); | 3985 | StringCbCatW (szTmp, sizeof(szTmp), L" "); |
3984 | wcscat (szTmp, GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL")); | 3986 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL")); |
3985 | } | 3987 | } |
3986 | 3988 | ||
3987 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), szTmp); | 3989 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), szTmp); |
@@ -4049,7 +4051,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
4049 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT")); | 4051 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT")); |
4050 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV")); | 4052 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV")); |
4051 | 4053 | ||
4052 | _snwprintf (szTmp, sizeof szTmp / 2, | 4054 | StringCbPrintfW (szTmp, sizeof szTmp, |
4053 | GetString (bDontVerifyRescueDisk ? "RESCUE_DISK_BURN_INFO_NO_CHECK" : "RESCUE_DISK_BURN_INFO"), | 4055 | GetString (bDontVerifyRescueDisk ? "RESCUE_DISK_BURN_INFO_NO_CHECK" : "RESCUE_DISK_BURN_INFO"), |
4054 | szRescueDiskISO, IsWindowsIsoBurnerAvailable() ? L"" : GetString ("RESCUE_DISK_BURN_INFO_NONWIN_ISO_BURNER")); | 4056 | szRescueDiskISO, IsWindowsIsoBurnerAvailable() ? L"" : GetString ("RESCUE_DISK_BURN_INFO_NONWIN_ISO_BURNER")); |
4055 | 4057 | ||
@@ -4129,7 +4131,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
4129 | 4131 | ||
4130 | try | 4132 | try |
4131 | { | 4133 | { |
4132 | wsprintfW (finalMsg, | 4134 | StringCbPrintfW (finalMsg, sizeof(finalMsg), |
4133 | GetString ("SYS_ENCRYPTION_PRETEST_INFO"), | 4135 | GetString ("SYS_ENCRYPTION_PRETEST_INFO"), |
4134 | BootEncObj->GetSystemDriveConfiguration().DriveNumber); | 4136 | BootEncObj->GetSystemDriveConfiguration().DriveNumber); |
4135 | } | 4137 | } |
@@ -4493,12 +4495,12 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
4493 | // -50% reserve for filesystem "peculiarities" | 4495 | // -50% reserve for filesystem "peculiarities" |
4494 | maxRecomOuterVolFillSize /= 2; | 4496 | maxRecomOuterVolFillSize /= 2; |
4495 | 4497 | ||
4496 | swprintf (szMaxRecomOuterVolFillSize, L"%I64d %s", maxRecomOuterVolFillSize / BYTES_PER_MB, GetString ("MB")); | 4498 | StringCbPrintfW (szMaxRecomOuterVolFillSize, sizeof(szMaxRecomOuterVolFillSize), L"%I64d %s", maxRecomOuterVolFillSize / BYTES_PER_MB, GetString ("MB")); |
4497 | 4499 | ||
4498 | swprintf (msg, GetString ("HIDVOL_HOST_FILLING_HELP_SYSENC"), hiddenVolHostDriveNo + 'A', szMaxRecomOuterVolFillSize); | 4500 | StringCbPrintfW (msg, sizeof(msg), GetString ("HIDVOL_HOST_FILLING_HELP_SYSENC"), hiddenVolHostDriveNo + 'A', szMaxRecomOuterVolFillSize); |
4499 | } | 4501 | } |
4500 | else | 4502 | else |
4501 | swprintf (msg, GetString ("HIDVOL_HOST_FILLING_HELP"), hiddenVolHostDriveNo + 'A'); | 4503 | StringCbPrintfW (msg, sizeof(msg), GetString ("HIDVOL_HOST_FILLING_HELP"), hiddenVolHostDriveNo + 'A'); |
4502 | 4504 | ||
4503 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), msg); | 4505 | SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), msg); |
4504 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("HIDVOL_HOST_FILLING_TITLE")); | 4506 | SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("HIDVOL_HOST_FILLING_TITLE")); |
@@ -4738,9 +4740,9 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
4738 | 4740 | ||
4739 | bWarnOuterVolSuitableFileSys = FALSE; // Do not show this warning anymore (this also prevents potential endless repetition due to some race conditions) | 4741 | bWarnOuterVolSuitableFileSys = FALSE; // Do not show this warning anymore (this also prevents potential endless repetition due to some race conditions) |
4740 | 4742 | ||
4741 | wcscpy (szTmp, GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL")); | 4743 | StringCbCopyW (szTmp, sizeof(szTmp), GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL")); |
4742 | wcscat (szTmp, L"\n\n"); | 4744 | StringCbCatW (szTmp, sizeof(szTmp), L"\n\n"); |
4743 | wcscat (szTmp, GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL_CONFIRM")); | 4745 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("FILESYS_PAGE_HELP_EXPLANATION_HIDVOL_CONFIRM")); |
4744 | 4746 | ||
4745 | if (MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON2) == IDNO) | 4747 | if (MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON2) == IDNO) |
4746 | { | 4748 | { |
@@ -4834,8 +4836,8 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
4834 | 4836 | ||
4835 | SetFocus (GetDlgItem (MainDlg, IDC_NEXT)); | 4837 | SetFocus (GetDlgItem (MainDlg, IDC_NEXT)); |
4836 | 4838 | ||
4837 | strcpy (szFileName, DeferredNonSysInPlaceEncDevices [selPartitionItemId].Path.c_str()); | 4839 | StringCbCopyA (szFileName, sizeof(szFileName), DeferredNonSysInPlaceEncDevices [selPartitionItemId].Path.c_str()); |
4838 | CreateFullVolumePath (szDiskFile, szFileName, &tmpbDevice); | 4840 | CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), szFileName, &tmpbDevice); |
4839 | 4841 | ||
4840 | nVolumeSize = GetDeviceSize (szDiskFile); | 4842 | nVolumeSize = GetDeviceSize (szDiskFile); |
4841 | if (nVolumeSize == -1) | 4843 | if (nVolumeSize == -1) |
@@ -5298,7 +5300,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
5298 | if (!BrowseFiles (hwndDlg, "OPEN_TITLE", tmpszRescueDiskISO, FALSE, TRUE, NULL)) | 5300 | if (!BrowseFiles (hwndDlg, "OPEN_TITLE", tmpszRescueDiskISO, FALSE, TRUE, NULL)) |
5299 | return 1; | 5301 | return 1; |
5300 | 5302 | ||
5301 | strcpy (szRescueDiskISO, tmpszRescueDiskISO); | 5303 | StringCbCopyA (szRescueDiskISO, sizeof(szRescueDiskISO), tmpszRescueDiskISO); |
5302 | 5304 | ||
5303 | SetDlgItemText (hwndDlg, IDC_RESCUE_DISK_ISO_PATH, szRescueDiskISO); | 5305 | SetDlgItemText (hwndDlg, IDC_RESCUE_DISK_ISO_PATH, szRescueDiskISO); |
5304 | EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), (GetWindowTextLength (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH)) > 1)); | 5306 | EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), (GetWindowTextLength (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH)) > 1)); |
@@ -5431,7 +5433,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
5431 | } | 5433 | } |
5432 | 5434 | ||
5433 | SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, 0, szRescueDiskISO); | 5435 | SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, 0, szRescueDiskISO); |
5434 | strcat (szRescueDiskISO, "\\VeraCrypt Rescue Disk.iso"); | 5436 | StringCbCatA (szRescueDiskISO, sizeof(szRescueDiskISO), "\\VeraCrypt Rescue Disk.iso"); |
5435 | 5437 | ||
5436 | if (IsOSAtLeast (WIN_VISTA)) | 5438 | if (IsOSAtLeast (WIN_VISTA)) |
5437 | { | 5439 | { |
@@ -5485,8 +5487,8 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
5485 | for (i = 0; i < sizeof (tmp); i++) | 5487 | for (i = 0; i < sizeof (tmp); i++) |
5486 | { | 5488 | { |
5487 | char tmp3[8]; | 5489 | char tmp3[8]; |
5488 | sprintf (tmp3, "%02X", (int) (unsigned char) tmp[i]); | 5490 | StringCbPrintfA (tmp3, sizeof(tmp3), "%02X", (int) (unsigned char) tmp[i]); |
5489 | strcat (tmp2, tmp3); | 5491 | StringCbCatA (tmp2, sizeof(tmp2), tmp3); |
5490 | } | 5492 | } |
5491 | 5493 | ||
5492 | tmp2[32] = 0; | 5494 | tmp2[32] = 0; |
@@ -5703,9 +5705,9 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
5703 | bKeyboardLayoutChanged = TRUE; | 5705 | bKeyboardLayoutChanged = TRUE; |
5704 | 5706 | ||
5705 | wchar_t szTmp [4096]; | 5707 | wchar_t szTmp [4096]; |
5706 | wcscpy (szTmp, GetString ("KEYB_LAYOUT_CHANGE_PREVENTED")); | 5708 | StringCbCopyW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_CHANGE_PREVENTED")); |
5707 | wcscat (szTmp, L"\n\n"); | 5709 | StringCbCatW (szTmp, sizeof(szTmp), L"\n\n"); |
5708 | wcscat (szTmp, GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION")); | 5710 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION")); |
5709 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING | MB_SETFOREGROUND | MB_TOPMOST); | 5711 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING | MB_SETFOREGROUND | MB_TOPMOST); |
5710 | } | 5712 | } |
5711 | 5713 | ||
@@ -5718,9 +5720,9 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
5718 | bKeybLayoutAltKeyWarningShown = TRUE; | 5720 | bKeybLayoutAltKeyWarningShown = TRUE; |
5719 | 5721 | ||
5720 | wchar_t szTmp [4096]; | 5722 | wchar_t szTmp [4096]; |
5721 | wcscpy (szTmp, GetString ("ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION")); | 5723 | StringCbCopyW (szTmp, sizeof(szTmp), GetString ("ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION")); |
5722 | wcscat (szTmp, L"\n\n"); | 5724 | StringCbCatW (szTmp, sizeof(szTmp), L"\n\n"); |
5723 | wcscat (szTmp, GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION")); | 5725 | StringCbCatW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION")); |
5724 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONINFORMATION | MB_SETFOREGROUND | MB_TOPMOST); | 5726 | MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONINFORMATION | MB_SETFOREGROUND | MB_TOPMOST); |
5725 | } | 5727 | } |
5726 | } | 5728 | } |
@@ -6413,7 +6415,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
6413 | 6415 | ||
6414 | GetWindowText (GetDlgItem (hCurPage, IDC_COMBO_BOX), szFileName, sizeof (szFileName)); | 6416 | GetWindowText (GetDlgItem (hCurPage, IDC_COMBO_BOX), szFileName, sizeof (szFileName)); |
6415 | RelativePath2Absolute (szFileName); | 6417 | RelativePath2Absolute (szFileName); |
6416 | CreateFullVolumePath (szDiskFile, szFileName, &tmpbDevice); | 6418 | CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), szFileName, &tmpbDevice); |
6417 | 6419 | ||
6418 | if (tmpbDevice != bDevice) | 6420 | if (tmpbDevice != bDevice) |
6419 | { | 6421 | { |
@@ -6885,7 +6887,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa | |||
6885 | } | 6887 | } |
6886 | else if (DeferredNonSysInPlaceEncDevices.size() == 1) | 6888 | else if (DeferredNonSysInPlaceEncDevices.size() == 1) |
6887 | { | 6889 | { |
6888 | CreateFullVolumePath (szDiskFile, DeferredNonSysInPlaceEncDevices.front().Path.c_str(), &tmpbDevice); | 6890 | CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), DeferredNonSysInPlaceEncDevices.front().Path.c_str(), &tmpbDevice); |
6889 | 6891 | ||
6890 | nVolumeSize = GetDeviceSize (szDiskFile); | 6892 | nVolumeSize = GetDeviceSize (szDiskFile); |
6891 | if (nVolumeSize == -1) | 6893 | if (nVolumeSize == -1) |
@@ -7042,7 +7044,7 @@ retryCDDriveCheck: | |||
7042 | { | 7044 | { |
7043 | wchar_t szTmp[8000]; | 7045 | wchar_t szTmp[8000]; |
7044 | 7046 | ||
7045 | swprintf (szTmp, GetString ("RESCUE_DISK_CHECK_FAILED"), | 7047 | StringCbPrintfW (szTmp, sizeof(szTmp), GetString ("RESCUE_DISK_CHECK_FAILED"), |
7046 | IsWindowsIsoBurnerAvailable () ? L"" : GetString ("RESCUE_DISK_CHECK_FAILED_SENTENCE_APPENDIX")); | 7048 | IsWindowsIsoBurnerAvailable () ? L"" : GetString ("RESCUE_DISK_CHECK_FAILED_SENTENCE_APPENDIX")); |
7047 | 7049 | ||
7048 | ErrorDirect (szTmp); | 7050 | ErrorDirect (szTmp); |
@@ -7592,7 +7594,7 @@ ovf_end: | |||
7592 | BOOL tmpbDevice; | 7594 | BOOL tmpbDevice; |
7593 | 7595 | ||
7594 | GetWindowText (GetDlgItem (hCurPage, IDC_COMBO_BOX), szFileName, sizeof (szFileName)); | 7596 | GetWindowText (GetDlgItem (hCurPage, IDC_COMBO_BOX), szFileName, sizeof (szFileName)); |
7595 | CreateFullVolumePath (szDiskFile, szFileName, &tmpbDevice); | 7597 | CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), szFileName, &tmpbDevice); |
7596 | 7598 | ||
7597 | if (tmpbDevice == bDevice) | 7599 | if (tmpbDevice == bDevice) |
7598 | { | 7600 | { |