mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-13 20:08:26 -06:00
Windows: replace insecure wcscpy/wcscat/strcpy runtime functions with secure equivalents
This fixed failure to build driver for ARM64 with latest VS 2019
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#if !defined(_UEFI)
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <strsafe.h>
|
||||
#else
|
||||
#include "Tcdefs.h"
|
||||
#pragma warning( disable : 4706 ) // assignment within conditional expression
|
||||
@@ -185,26 +186,30 @@ char *XmlQuoteText (const char *textSrc, char *textDst, int textDstMaxSize)
|
||||
case '&':
|
||||
if (textDst + 6 > textDstLast)
|
||||
return NULL;
|
||||
strcpy (textDst, "&");
|
||||
StringCchCopyA (textDst, textDstMaxSize, "&");
|
||||
textDst += 5;
|
||||
textDstMaxSize -= 5;
|
||||
continue;
|
||||
|
||||
case '>':
|
||||
if (textDst + 5 > textDstLast)
|
||||
return NULL;
|
||||
strcpy (textDst, ">");
|
||||
StringCchCopyA (textDst, textDstMaxSize, ">");
|
||||
textDst += 4;
|
||||
textDstMaxSize -= 4;
|
||||
continue;
|
||||
|
||||
case '<':
|
||||
if (textDst + 5 > textDstLast)
|
||||
return NULL;
|
||||
strcpy (textDst, "<");
|
||||
StringCchCopyA (textDst, textDstMaxSize, "<");
|
||||
textDst += 4;
|
||||
textDstMaxSize -= 4;
|
||||
continue;
|
||||
|
||||
default:
|
||||
*textDst++ = c;
|
||||
textDstMaxSize--;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,26 +235,30 @@ wchar_t *XmlQuoteTextW (const wchar_t *textSrc, wchar_t *textDst, int textDstMax
|
||||
case L'&':
|
||||
if (textDst + 6 > textDstLast)
|
||||
return NULL;
|
||||
wcscpy (textDst, L"&");
|
||||
StringCchCopyW (textDst, textDstMaxSize, L"&");
|
||||
textDst += 5;
|
||||
textDstMaxSize -= 5;
|
||||
continue;
|
||||
|
||||
case L'>':
|
||||
if (textDst + 5 > textDstLast)
|
||||
return NULL;
|
||||
wcscpy (textDst, L">");
|
||||
StringCchCopyW (textDst, textDstMaxSize, L">");
|
||||
textDst += 4;
|
||||
textDstMaxSize -= 4;
|
||||
continue;
|
||||
|
||||
case L'<':
|
||||
if (textDst + 5 > textDstLast)
|
||||
return NULL;
|
||||
wcscpy (textDst, L"<");
|
||||
StringCchCopyW (textDst, textDstMaxSize, L"<");
|
||||
textDst += 4;
|
||||
textDstMaxSize -= 4;
|
||||
continue;
|
||||
|
||||
default:
|
||||
*textDst++ = c;
|
||||
textDstMaxSize--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user