summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSune Vuorela <sune@vuorela.dk>2023-03-13 14:05:59 +0100
committerSune Vuorela <sune@vuorela.dk>2023-03-15 08:08:53 +0100
commit829d03cccd77312886e0bc215366cfe600e65044 (patch)
tree2d3ef4321ae5896bfac3c3a015fec8b591d17ee0
parenta691d8d5e6ce169325542b7912d61a215f412f28 (diff)
Switch second digest buffer to not leak memory
-rw-r--r--poppler/SignatureHandler.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/poppler/SignatureHandler.cc b/poppler/SignatureHandler.cc
index d35862bb..059d8efb 100644
--- a/poppler/SignatureHandler.cc
+++ b/poppler/SignatureHandler.cc
@@ -1043,11 +1043,11 @@ std::unique_ptr<GooString> SignatureHandler::signDetached(const char *password)
if (!hash_context) {
return nullptr;
}
- unsigned char *digest_buffer = reinterpret_cast<unsigned char *>(PORT_Alloc(hash_length));
+ auto digest_buffer = std::vector<unsigned char>(hash_length);
unsigned int result_len = 0;
- HASH_End(hash_context.get(), digest_buffer, &result_len, hash_length);
+ HASH_End(hash_context.get(), digest_buffer.data(), &result_len, hash_length);
SECItem digest;
- digest.data = digest_buffer;
+ digest.data = digest_buffer.data();
digest.len = result_len;
/////////////////////////////////////