poppler/SignatureHandler.cc | 7 ------- poppler/SignatureInfo.cc | 6 ++++-- poppler/SignatureInfo.h | 4 ++-- 3 files changed, 6 insertions(+), 11 deletions(-)
New commits: commit f9c7d61e36bb1fb0c77681b993fe5f4c2b1cd37e Author: Albert Astals Cid <aa...@kde.org> Date: Mon Jul 23 00:19:17 2018 +0200 Don't free signeddata nor signerinfo They get freed as part of freeing CMSMessage diff --git a/poppler/SignatureHandler.cc b/poppler/SignatureHandler.cc index a944ce3f..f748d153 100644 --- a/poppler/SignatureHandler.cc +++ b/poppler/SignatureHandler.cc @@ -164,10 +164,6 @@ void SignatureHandler::updateHash(unsigned char * data_block, int data_len) SignatureHandler::~SignatureHandler() { SECITEM_FreeItem(&CMSitem, PR_FALSE); - if (CMSSignerInfo) - NSS_CMSSignerInfo_Destroy(CMSSignerInfo); - if (CMSSignedData) - NSS_CMSSignedData_Destroy(CMSSignedData); if (CMSMessage) NSS_CMSMessage_Destroy(CMSMessage); commit 54a75cb091b0994290e6b398b98e3113cd61355a Author: Albert Astals Cid <aa...@kde.org> Date: Mon Jul 23 00:18:50 2018 +0200 Don't destroy the cert, doesn't belong to us diff --git a/poppler/SignatureHandler.cc b/poppler/SignatureHandler.cc index 6ddd1a84..a944ce3f 100644 --- a/poppler/SignatureHandler.cc +++ b/poppler/SignatureHandler.cc @@ -318,9 +318,6 @@ SECErrorCodes SignatureHandler::validateCertificate(time_t validation_time) retVal = (SECErrorCodes) PORT_GetError(); - if (cert) - CERT_DestroyCertificate(cert); - return retVal; } commit 36f317d488d8ce6efb69db89a2eca09a98553ab5 Author: Albert Astals Cid <aa...@kde.org> Date: Sun Jul 22 23:48:03 2018 +0200 Copy subject dn instead of storing it It comes deep from the cert memory so it's destroyed shorting after and thus is invalid if we don't copy it diff --git a/poppler/SignatureInfo.cc b/poppler/SignatureInfo.cc index 7ca8b969..b5314334 100644 --- a/poppler/SignatureInfo.cc +++ b/poppler/SignatureInfo.cc @@ -7,7 +7,7 @@ // Copyright 2015 André Guerreiro <aguerreiro1...@gmail.com> // Copyright 2015 André Esser <bepan...@hotmail.com> // Copyright 2017 Hans-Ulrich Jüttner <h...@froreich-bioscientia.de> -// Copyright 2017 Albert Astals Cid <aa...@kde.org> +// Copyright 2017, 2018 Albert Astals Cid <aa...@kde.org> // //======================================================================== @@ -51,6 +51,7 @@ SignatureInfo::SignatureInfo(SignatureValidationStatus sig_val_status, Certifica SignatureInfo::~SignatureInfo() { free(signer_name); + free(subject_dn); } /* GETTERS */ @@ -105,7 +106,8 @@ void SignatureInfo::setSignerName(char *signerName) void SignatureInfo::setSubjectDN(const char *subjectDN) { - subject_dn = subjectDN; + free(subject_dn); + subject_dn = strdup(subjectDN); } void SignatureInfo::setHashAlgorithm(int type) diff --git a/poppler/SignatureInfo.h b/poppler/SignatureInfo.h index 35e7568c..b99e4151 100644 --- a/poppler/SignatureInfo.h +++ b/poppler/SignatureInfo.h @@ -6,7 +6,7 @@ // // Copyright 2015 André Guerreiro <aguerreiro1...@gmail.com> // Copyright 2015 André Esser <bepan...@hotmail.com> -// Copyright 2015, 2017 Albert Astals Cid <aa...@kde.org> +// Copyright 2015, 2017, 2018 Albert Astals Cid <aa...@kde.org> // Copyright 2017 Hans-Ulrich Jüttner <h...@froreich-bioscientia.de> // //======================================================================== @@ -69,7 +69,7 @@ private: SignatureValidationStatus sig_status; CertificateValidationStatus cert_status; char *signer_name; - const char *subject_dn; + char *subject_dn; int hash_type; time_t signing_time; bool sig_subfilter_supported; _______________________________________________ poppler mailing list poppler@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/poppler