summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Daemon/RPM.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Daemon/RPM.cpp b/src/Daemon/RPM.cpp
index c40f9a07..50b03482 100644
--- a/src/Daemon/RPM.cpp
+++ b/src/Daemon/RPM.cpp
@@ -28,6 +28,8 @@ CRPM::CRPM()
CRPM::~CRPM()
{
+ rpmFreeCrypto();
+ rpmFreeRpmrc();
rpmcliFini(m_poptContext);
}
@@ -48,6 +50,7 @@ void CRPM::LoadOpenGPGPublicKey(const char* pFileName)
if (fedoraFingerprint != NULL)
{
m_setFingerprints.insert(fedoraFingerprint);
+ free(fedoraFingerprint);
}
}
free(pkt);
@@ -71,6 +74,7 @@ bool CRPM::CheckFingerprint(const char* pPackage)
rpmtd td = rpmtdNew();
headerGet(header, rpmTags[ii] , td, HEADERGET_DEFAULT);
char* pgpsig = rpmtdFormat(td, RPMTD_FORMAT_PGPSIG , NULL);
+ rpmtdFree(td);
if (pgpsig)
{
std::string PGPSignatureText = pgpsig;
@@ -81,7 +85,6 @@ bool CRPM::CheckFingerprint(const char* pPackage)
{
std::string headerFingerprint = PGPSignatureText.substr(Key_ID_pos + sizeof (" Key ID ") - 1);
- rpmtdFree(td);
if (headerFingerprint != "")
{
if (m_setFingerprints.find(headerFingerprint) != m_setFingerprints.end())