modulewrapper: manage buffer with |unique_ptr|.
This doesn't actually matter, but ASan otherwise complains about the
memory leak on process exit.
Change-Id: Ic7cf591b7687f10c3a5bc304e1321f4deecdcb10
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/38804
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: Adam Langley <agl@google.com>
diff --git a/util/fipstools/acvp/modulewrapper/modulewrapper.cc b/util/fipstools/acvp/modulewrapper/modulewrapper.cc
index 109e3b0..d6a9b0a 100644
--- a/util/fipstools/acvp/modulewrapper/modulewrapper.cc
+++ b/util/fipstools/acvp/modulewrapper/modulewrapper.cc
@@ -595,7 +595,7 @@
int main() {
uint32_t nums[1 + kMaxArgs];
- uint8_t *buf = nullptr;
+ std::unique_ptr<uint8_t[]> buf;
size_t buf_len = 0;
Span<const uint8_t> args[kMaxArgs];
@@ -641,19 +641,15 @@
}
if (need > buf_len) {
- free(buf);
size_t alloced = need + (need >> 1);
if (alloced < need) {
abort();
}
- buf = reinterpret_cast<uint8_t *>(malloc(alloced));
- if (buf == nullptr) {
- abort();
- }
+ buf.reset(new uint8_t[alloced]);
buf_len = alloced;
}
- if (!ReadAll(STDIN_FILENO, buf, need)) {
+ if (!ReadAll(STDIN_FILENO, buf.get(), need)) {
return 1;
}