diff options
author | Sune Vuorela <sune@vuorela.dk> | 2023-03-13 14:05:59 +0100 |
---|---|---|
committer | Sune Vuorela <sune@vuorela.dk> | 2023-03-15 08:08:53 +0100 |
commit | 829d03cccd77312886e0bc215366cfe600e65044 (patch) | |
tree | 2d3ef4321ae5896bfac3c3a015fec8b591d17ee0 | |
parent | a691d8d5e6ce169325542b7912d61a215f412f28 (diff) |
Switch second digest buffer to not leak memory
-rw-r--r-- | poppler/SignatureHandler.cc | 6 |
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; ///////////////////////////////////// |