Merge "Add a ZeroingAllocator::rebind<Other> for Other==char" into main am: c2b3fefa01 am: 727ef62350
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2673490
Change-Id: I9ad5271a7a6e7f1514794b7096816867eb29b477
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/KeyBuffer.h b/KeyBuffer.h
index 4468220..3275255 100644
--- a/KeyBuffer.h
+++ b/KeyBuffer.h
@@ -19,6 +19,7 @@
#include <string.h>
#include <memory>
+#include <type_traits>
#include <vector>
namespace android {
@@ -31,6 +32,12 @@
memset_explicit(p, 0, n);
std::allocator<char>::deallocate(p, n);
}
+
+ template <class Other>
+ struct rebind {
+ static_assert(std::is_same_v<char, Other>, "ZeroingAllocator is only defined for char");
+ using other = ZeroingAllocator;
+ };
};
// Char vector that zeroes memory when deallocating.