diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2009-05-01 18:49:10 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2009-05-01 18:49:10 +0000 |
commit | d93f894a186f173d8928c64058ce3686c2ad3b83 (patch) | |
tree | 328460a74b10dd30edc0d2a9db153be9f20ed73c /secblock.h | |
parent | 77e3dd2dfad7412463035f90f5d6ac36fd05075e (diff) | |
download | cryptopp-d93f894a186f173d8928c64058ce3686c2ad3b83.tar.gz |
add and use SecureWipeArray() to avoid compiler optimizing away memset() (reported by Paul Pelzl)
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@467 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'secblock.h')
-rw-r--r-- | secblock.h | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -130,7 +130,7 @@ public: void deallocate(void *p, size_type n) { - memset_z(p, 0, n*sizeof(T)); + SecureWipeArray((pointer)p, n); if (CRYPTOPP_BOOL_ALIGN16_ENABLED && T_Align16 && n*sizeof(T) >= 16) { @@ -232,7 +232,7 @@ public: assert(n <= S); assert(m_allocated); m_allocated = false; - memset(p, 0, n*sizeof(T)); + SecureWipeArray((pointer)p, n); } else m_fallbackAllocator.deallocate(p, n); @@ -244,7 +244,7 @@ public: { assert(oldSize <= S); if (oldSize > newSize) - memset(p + newSize, 0, (oldSize-newSize)*sizeof(T)); + SecureWipeArray(p+newSize, oldSize-newSize); return p; } |