[poppler] poppler/SignatureHandler.cc

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 9 22:00:26 UTC 2023


 poppler/SignatureHandler.cc |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 63bfacc89576345722cf3cefb962861aa7d159b8
Author: Tobias Deiminger <tobias.deiminger at posteo.de>
Date:   Wed Jan 4 21:26:12 2023 +0100

    Fix "NSS could not shutdown"
    
    SignatureHandler never freed it's signing certificate. This left
    an internal NSS reference that prevented cleanup of the NSS cache,
    causing "NSS could not shutdown".
    
    NSS maintains an internal in-memory cache, where content is reference
    counted. PK11_MakeCertFromHandle increases the issuerAndSn count.
    CERT_DestroyCertificate decreases it. NSS tries to destruct the cache in
    NSS_Shutdown, which we've scheduled with atexit. There it detects a
    remaining reference.
    
    Fixes #1326.

diff --git a/poppler/SignatureHandler.cc b/poppler/SignatureHandler.cc
index 3cf40973..89bcc5dd 100644
--- a/poppler/SignatureHandler.cc
+++ b/poppler/SignatureHandler.cc
@@ -858,6 +858,10 @@ SignatureHandler::~SignatureHandler()
         HASH_Destroy(hash_context);
     }
 
+    if (signing_cert) {
+        CERT_DestroyCertificate(signing_cert);
+    }
+
     free(temp_certs);
 }
 


More information about the poppler mailing list