diff options
| author | alee <alee@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2009-05-27 19:55:45 +0000 |
|---|---|---|
| committer | alee <alee@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2009-05-27 19:55:45 +0000 |
| commit | a8b1581a7df11ac9681b3d8829efe313ebe278fd (patch) | |
| tree | b0650bdf163b72e7a64313948f752060a9d3d550 /pki/base/tps/src/engine/RA.cpp | |
| parent | 70fa28d5394aa15ffefe2abda296069b161271fb (diff) | |
Bugzilla Bug #499493 - run tps under valgrind
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@500 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/tps/src/engine/RA.cpp')
| -rw-r--r-- | pki/base/tps/src/engine/RA.cpp | 61 |
1 files changed, 46 insertions, 15 deletions
diff --git a/pki/base/tps/src/engine/RA.cpp b/pki/base/tps/src/engine/RA.cpp index 36aa256b8..e82c1643b 100644 --- a/pki/base/tps/src/engine/RA.cpp +++ b/pki/base/tps/src/engine/RA.cpp @@ -172,6 +172,14 @@ RA::RA () */ RA::~RA () { + do_free(m_signedAuditSelectedEvents); + do_free(m_signedAuditSelectableEvents); + do_free(m_signedAuditNonSelectableEvents); + + if (m_cfg != NULL) { + delete m_cfg; + m_cfg = NULL; + } } TPS_PUBLIC ConfigStore *RA::GetConfigStore() @@ -184,6 +192,14 @@ PRLock *RA::GetVerifyLock() return m_verify_lock; } +void RA::do_free(char *p) +{ + if (p != NULL) { + PR_Free(p); + p = NULL; + } +} + int RA::InitializeSignedAudit() { // cfu @@ -502,18 +518,21 @@ loser: } int RA::testTokendb() { - // try to see if we can talk to the database - int st = 0; - LDAPMessage *ldapResult = NULL; - const char * filter = "(cn=0000000000080000*)"; - - if ((st = find_tus_db_entries(filter, 0, &ldapResult)) != LDAP_SUCCESS) { - RA::Debug("RA::testing", "response from token DB failed"); - } else { - RA::Debug("RA::testing", "response from token DB succeeded"); - } + // try to see if we can talk to the database + int st = 0; + LDAPMessage *ldapResult = NULL; + const char * filter = "(cn=0000000000080000*)"; - return st; + if ((st = find_tus_db_entries(filter, 0, &ldapResult)) != LDAP_SUCCESS) { + RA::Debug("RA::testing", "response from token DB failed"); + } else { + RA::Debug("RA::testing", "response from token DB succeeded"); + } + if (ldapResult != NULL) { + ldap_msgfree(ldapResult); + } + + return st; } /* @@ -939,6 +958,9 @@ void RA::RecoverKey(RA_Session *session, const char* cuid, else { status_s = status_b->string(); status = atoi(status_s); + if (status_s != NULL) { + PR_Free(status_s); + } } @@ -1151,6 +1173,9 @@ void RA::ServerSideKeyGen(RA_Session *session, const char* cuid, } else { status_s = status_b->string(); status = atoi(status_s); + if (status_s != NULL) { + PR_Free(status_s); + } } char * tmp = NULL; @@ -1349,6 +1374,9 @@ PK11SymKey *RA::ComputeSessionKey(RA_Session *session, else { status_s = status_b->string(); status = atoi(status_s); + if (status_s != NULL) { + PR_Free(status_s); + } } sessionKey_s = ra_pb->find_val_s(TKS_RESPONSE_SessionKey); @@ -1776,11 +1804,11 @@ void RA::AuditThis (RA_Log_Level level, const char *func_name, const char *fmt, } loser: + if (audit_msg) + PR_Free(audit_msg); if (m_audit_signed==true) { if (sign_ctxt) SGN_DestroyContext(sign_ctxt, PR_TRUE); - if (audit_msg) - PR_Free(audit_msg); if (sig_b64) PR_Free(sig_b64); if (out_sig_b64) @@ -2401,7 +2429,7 @@ int RA::tdb_update_certificates(char* cuid, char **tokentypes, char *userid, CER int i = 0; if ((rc = find_tus_db_entry(cuid, 0, &ldapResult)) != LDAP_SUCCESS) { - return rc; + goto loser; } /* update certificates */ @@ -2448,7 +2476,10 @@ int RA::tdb_update_certificates(char* cuid, char **tokentypes, char *userid, CER ktypes[i], "active"); } } - +loser: + if (ldapResult != NULL) { + ldap_msgfree(ldapResult); + } return rc; } |
