Typically used classes variations defined with sanitizing_allocator
This commit is contained in:
parent
a1a7ca6dac
commit
2cb830b341
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -914,5 +915,45 @@ namespace winstd
|
|||||||
|
|
||||||
#pragma warning(pop)
|
#pragma warning(pop)
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A sanitizing variant of std::vector
|
||||||
|
///
|
||||||
|
/// \note
|
||||||
|
/// `sanitizing_vector` introduces a performance penalty. However, it provides an additional level of security.
|
||||||
|
/// Use for security sensitive data memory storage only.
|
||||||
|
///
|
||||||
|
template<class _Ty>
|
||||||
|
class sanitizing_vector : public std::vector<_Ty, sanitizing_allocator<_Ty> >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A sanitizing variant of std::string
|
||||||
|
///
|
||||||
|
/// \note
|
||||||
|
/// `sanitizing_string` introduces a performance penalty. However, it provides an additional level of security.
|
||||||
|
/// Use for security sensitive data memory storage only.
|
||||||
|
///
|
||||||
|
typedef std::basic_string<char, std::char_traits<char>, sanitizing_allocator<char> > sanitizing_string;
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A sanitizing variant of std::wstring
|
||||||
|
///
|
||||||
|
/// \note
|
||||||
|
/// `sanitizing_wstring` introduces a performance penalty. However, it provides an additional level of security.
|
||||||
|
/// Use for security sensitive data memory storage only.
|
||||||
|
///
|
||||||
|
typedef std::basic_string<wchar_t, std::char_traits<wchar_t>, sanitizing_allocator<wchar_t> > sanitizing_wstring;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _UNICODE
|
||||||
|
typedef sanitizing_wstring sanitizing_tstring;
|
||||||
|
#else
|
||||||
|
typedef sanitizing_string sanitizing_tstring;
|
||||||
|
#endif
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user