summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorTim Taubert <ttaubert@mozilla.com>2016-06-27 16:27:01 +0200
committerTim Taubert <ttaubert@mozilla.com>2016-06-27 16:27:01 +0200
commitf5a61c40aa3ebfedca4127c42391f95b5ad3d083 (patch)
tree38e7c31840572bd44d4c60c1594886612635dc41 /cmd
parentd14d925a760633d98b217c3c08a8e424bb7d10d2 (diff)
downloadnss-hg-f5a61c40aa3ebfedca4127c42391f95b5ad3d083.tar.gz
Bug 1281724 - Fix leak in crlutil's crlgen.c r=franziskus
Diffstat (limited to 'cmd')
-rw-r--r--cmd/crlutil/crlgen.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/cmd/crlutil/crlgen.c b/cmd/crlutil/crlgen.c
index bc8802137..1f9dc4b43 100644
--- a/cmd/crlutil/crlgen.c
+++ b/cmd/crlutil/crlgen.c
@@ -67,16 +67,23 @@ static SECStatus
crlgen_RmEntry(CRLGENGeneratorData *crlGenData, SECItem *certId)
{
CRLGENEntryData *data = NULL;
+ SECStatus rv = SECSuccess;
- if (!crlGenData->entryDataHashTable)
+ if (!crlGenData->entryDataHashTable) {
return SECSuccess;
+ }
+
data = crlgen_FindEntry(crlGenData, certId);
- if (!data)
- return SECSuccess;
- if (PL_HashTableRemove(crlGenData->entryDataHashTable, certId))
+ if (!data) {
return SECSuccess;
+ }
+
+ if (!PL_HashTableRemove(crlGenData->entryDataHashTable, certId)) {
+ rv = SECFailure;
+ }
+
destroyEntryData(data);
- return SECFailure;
+ return rv;
}
/* Stores CRLGENEntryData in hashtable according to certId