Assert traps added to force code proofing on first actual use-case
This commit is contained in:
parent
812b746ef3
commit
94abcb185a
@ -89,6 +89,8 @@ inline int vsnprintf(_Out_z_cap_(capacity) wchar_t *str, _In_ size_t capacity, _
|
||||
template<class _Elem, class _Traits, class _Ax>
|
||||
inline int vsprintf(_Out_ std::basic_string<_Elem, _Traits, _Ax> &str, _In_z_ _Printf_format_string_ const _Elem *format, _In_ va_list arg)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
_Elem buf[WINSTD_STACK_BUFFER_BYTES/sizeof(_Elem)];
|
||||
|
||||
// Try with stack buffer first.
|
||||
|
@ -41,6 +41,8 @@
|
||||
///
|
||||
inline DWORD CertGetNameStringA(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::string &sNameString)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
// Query the final string length first.
|
||||
DWORD dwSize = ::CertGetNameStringA(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0);
|
||||
|
||||
@ -59,6 +61,8 @@ inline DWORD CertGetNameStringA(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwT
|
||||
///
|
||||
inline DWORD CertGetNameStringW(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwType, _In_ DWORD dwFlags, _In_ void *pvTypePara, _Out_ std::wstring &sNameString)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
// Query the final string length first.
|
||||
DWORD dwSize = ::CertGetNameStringW(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0);
|
||||
|
||||
@ -77,6 +81,8 @@ inline DWORD CertGetNameStringW(_In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwT
|
||||
///
|
||||
inline BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_ std::vector<unsigned char> &aData, _In_ DWORD dwFlags)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
DWORD dwHashSize;
|
||||
|
||||
if (CryptGetHashParam(hHash, dwParam, NULL, &dwHashSize, dwFlags)) {
|
||||
@ -97,6 +103,8 @@ inline BOOL CryptGetHashParam(_In_ HCRYPTHASH hHash, _In_ DWORD dwParam, _Out_
|
||||
///
|
||||
inline BOOL CryptExportKey(_In_ HCRYPTKEY hKey, _In_ HCRYPTKEY hExpKey, _In_ DWORD dwBlobType, _In_ DWORD dwFlags, _Out_ std::vector<unsigned char> &aData)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
DWORD dwKeyBLOBSize;
|
||||
|
||||
if (CryptExportKey(hKey, hExpKey, dwBlobType, dwFlags, NULL, &dwKeyBLOBSize)) {
|
||||
|
@ -41,6 +41,8 @@
|
||||
///
|
||||
inline UINT MsiGetPropertyA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szName, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -71,6 +73,8 @@ inline UINT MsiGetPropertyA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szName, _Out_ s
|
||||
///
|
||||
inline UINT MsiGetPropertyW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szName, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -101,6 +105,8 @@ inline UINT MsiGetPropertyW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szName, _Out_
|
||||
///
|
||||
inline UINT MsiRecordGetStringA(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -131,6 +137,8 @@ inline UINT MsiRecordGetStringA(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
|
||||
///
|
||||
inline UINT MsiRecordGetStringW(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -161,6 +169,8 @@ inline UINT MsiRecordGetStringW(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
|
||||
///
|
||||
inline UINT MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -191,6 +201,8 @@ inline UINT MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, std::string
|
||||
///
|
||||
inline UINT MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -221,6 +233,8 @@ inline UINT MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, std::wstring
|
||||
///
|
||||
inline UINT MsiRecordReadStream(_In_ MSIHANDLE hRecord, _In_ unsigned int iField, _Out_ std::vector<unsigned char> &binData)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
DWORD dwSize = 0;
|
||||
UINT uiResult;
|
||||
|
||||
@ -243,6 +257,8 @@ inline UINT MsiRecordReadStream(_In_ MSIHANDLE hRecord, _In_ unsigned int iField
|
||||
///
|
||||
inline UINT MsiGetTargetPathA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szFolder, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
@ -273,6 +289,8 @@ inline UINT MsiGetTargetPathA(_In_ MSIHANDLE hInstall, _In_ LPCSTR szFolder, _Ou
|
||||
///
|
||||
inline UINT MsiGetTargetPathW(_In_ MSIHANDLE hInstall, _In_ LPCWSTR szFolder, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
DWORD dwSize = _countof(szStackBuffer);
|
||||
UINT uiResult;
|
||||
|
@ -38,6 +38,8 @@
|
||||
///
|
||||
BOOLEAN GetUserNameExA(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::string &sName)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
ULONG ulSize = _countof(szStackBuffer);
|
||||
|
||||
@ -69,6 +71,8 @@ BOOLEAN GetUserNameExA(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::string &
|
||||
///
|
||||
BOOLEAN GetUserNameExW(_In_ EXTENDED_NAME_FORMAT NameFormat, _Out_ std::wstring &sName)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
ULONG ulSize = _countof(szStackBuffer);
|
||||
|
||||
|
@ -36,6 +36,8 @@
|
||||
///
|
||||
inline BOOL PathCanonicalizeA(__out std::string &sValue, __in LPCSTR pszPath)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
// Allocate buffer on heap and read into it.
|
||||
CHAR szBuffer[MAX_PATH + 1];
|
||||
BOOL bResult = ::PathCanonicalizeA(szBuffer, pszPath);
|
||||
@ -51,6 +53,8 @@ inline BOOL PathCanonicalizeA(__out std::string &sValue, __in LPCSTR pszPath)
|
||||
///
|
||||
inline BOOL PathCanonicalizeW(__out std::wstring &sValue, __in LPCWSTR pszPath)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szBuffer[MAX_PATH + 1];
|
||||
BOOL bResult = ::PathCanonicalizeW(szBuffer, pszPath);
|
||||
sValue.assign(szBuffer, bResult ? MAX_PATH : 0);
|
||||
|
@ -46,6 +46,8 @@ extern DWORD (WINAPI *pfnWlanReasonCodeToString)(__in DWORD dwReasonCode, __in D
|
||||
///
|
||||
inline DWORD WlanReasonCodeToString(_In_ DWORD dwReasonCode, _Out_ std::wstring &sValue, __reserved PVOID pReserved)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
DWORD dwSize = 0;
|
||||
|
||||
if (!::pfnWlanReasonCodeToString)
|
||||
|
@ -41,6 +41,8 @@
|
||||
///
|
||||
inline DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
CHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
|
||||
// Try with stack buffer first.
|
||||
@ -70,6 +72,8 @@ inline DWORD GetModuleFileNameA(_In_opt_ HMODULE hModule, _Out_ std::string &sVa
|
||||
///
|
||||
inline DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
WCHAR szBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
|
||||
// Try with stack buffer first.
|
||||
@ -99,6 +103,8 @@ inline DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, _Out_ std::wstring &sV
|
||||
///
|
||||
inline int GetWindowTextA(_In_ HWND hWnd, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
int iResult;
|
||||
|
||||
// Query the final string length first.
|
||||
@ -130,6 +136,8 @@ inline int GetWindowTextA(_In_ HWND hWnd, _Out_ std::string &sValue)
|
||||
///
|
||||
inline int GetWindowTextW(_In_ HWND hWnd, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
int iResult;
|
||||
|
||||
// Query the final string length first.
|
||||
@ -161,6 +169,8 @@ inline int GetWindowTextW(_In_ HWND hWnd, _Out_ std::wstring &sValue)
|
||||
///
|
||||
inline BOOL GetFileVersionInfoA(_In_ LPCSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
// Get version info size.
|
||||
DWORD dwVerInfoSize = ::GetFileVersionInfoSizeA(lptstrFilename, &dwHandle);
|
||||
if (dwVerInfoSize != 0) {
|
||||
@ -179,6 +189,8 @@ inline BOOL GetFileVersionInfoA(_In_ LPCSTR lptstrFilename, __reserved DWORD dwH
|
||||
///
|
||||
inline BOOL GetFileVersionInfoW(_In_ LPCWSTR lptstrFilename, __reserved DWORD dwHandle, _Out_ std::vector<unsigned char> &aValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
// Get version info size.
|
||||
DWORD dwVerInfoSize = ::GetFileVersionInfoSizeW(lptstrFilename, &dwHandle);
|
||||
if (dwVerInfoSize != 0) {
|
||||
@ -197,6 +209,8 @@ inline BOOL GetFileVersionInfoW(_In_ LPCWSTR lptstrFilename, __reserved DWORD dw
|
||||
///
|
||||
inline DWORD ExpandEnvironmentStringsW(_In_ LPCSTR lpSrc, std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
for (DWORD dwSizeOut = (DWORD)strlen(lpSrc) + 0x100;;) {
|
||||
DWORD dwSizeIn = dwSizeOut;
|
||||
auto szBuffer = std::unique_ptr<CHAR[]>(new CHAR[dwSizeIn + 2]); // Note: ANSI version requires one extra char.
|
||||
@ -223,6 +237,8 @@ inline DWORD ExpandEnvironmentStringsW(_In_ LPCSTR lpSrc, std::string &sValue)
|
||||
///
|
||||
inline DWORD ExpandEnvironmentStringsW(_In_ LPCWSTR lpSrc, std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
for (DWORD dwSizeOut = (DWORD)wcslen(lpSrc) + 0x100;;) {
|
||||
DWORD dwSizeIn = dwSizeOut;
|
||||
auto szBuffer = std::unique_ptr<WCHAR[]>(new WCHAR[dwSizeIn + 1]);
|
||||
@ -250,6 +266,8 @@ inline DWORD ExpandEnvironmentStringsW(_In_ LPCWSTR lpSrc, std::wstring &sValue)
|
||||
///
|
||||
inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::string &str)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
sprintf(str, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
|
||||
lpGuid->Data1,
|
||||
lpGuid->Data2,
|
||||
@ -267,6 +285,8 @@ inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::string &str)
|
||||
///
|
||||
inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::wstring &str)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
sprintf(str, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
|
||||
lpGuid->Data1,
|
||||
lpGuid->Data2,
|
||||
@ -296,6 +316,8 @@ inline VOID GuidToString(_In_ LPCGUID lpGuid, _Out_ std::wstring &str)
|
||||
///
|
||||
inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_ std::string &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
|
||||
DWORD dwSize = sizeof(aStackBuffer), dwType;
|
||||
@ -360,6 +382,8 @@ inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCSTR pszName, _Out_
|
||||
///
|
||||
inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_ std::wstring &sValue)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
|
||||
DWORD dwSize = sizeof(aStackBuffer), dwType;
|
||||
@ -411,6 +435,8 @@ inline LSTATUS RegQueryStringValue(_In_ HKEY hReg, _In_z_ LPCWSTR pszName, _Out_
|
||||
///
|
||||
inline LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
|
||||
DWORD dwSize = sizeof(aStackBuffer);
|
||||
@ -439,6 +465,8 @@ inline LSTATUS RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, __r
|
||||
///
|
||||
inline LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, __reserved LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_ std::vector<unsigned char> &aData)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
BYTE aStackBuffer[WINSTD_STACK_BUFFER_BYTES];
|
||||
DWORD dwSize = sizeof(aStackBuffer);
|
||||
@ -469,6 +497,8 @@ inline LSTATUS RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, __
|
||||
///
|
||||
inline LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_ LPCSTR pszValue, _Out_ std::string &sOut, _In_ DWORD Flags, _In_opt_ LPCSTR pszDirectory)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
CHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(CHAR)];
|
||||
DWORD dwSize;
|
||||
@ -497,6 +527,8 @@ inline LSTATUS RegLoadMUIStringA(_In_ HKEY hKey, _In_opt_ LPCSTR pszValue, _Out_
|
||||
///
|
||||
inline LSTATUS RegLoadMUIStringW(_In_ HKEY hKey, _In_opt_ LPCWSTR pszValue, _Out_ std::wstring &sOut, _In_ DWORD Flags, _In_opt_ LPCWSTR pszDirectory)
|
||||
{
|
||||
assert(0); // TODO: Test this code.
|
||||
|
||||
LSTATUS lResult;
|
||||
WCHAR szStackBuffer[WINSTD_STACK_BUFFER_BYTES/sizeof(WCHAR)];
|
||||
DWORD dwSize;
|
||||
|
Loading…
x
Reference in New Issue
Block a user