397832 - libpkix leaks memory if a macro calls a function that returns an error. r=nelson

This commit is contained in:
alexei.volkov.bugs%sun.com 2008-04-09 22:29:05 +00:00
Родитель 3915417647
Коммит c1f79daa1a
4 изменённых файлов: 8 добавлений и 7 удалений

Просмотреть файл

@ -1200,7 +1200,7 @@ do {
pkix_pl_lifecycle_ObjectTableUpdate(objCountTable);
}
PR_LOG(pkixLog, 1, ("Memory leak test: Loop %d\n", memLeakLoopCount));
PR_LOG(pkixLog, 1, ("Memory leak test: Loop %d\n", memLeakLoopCount++));
#endif /* PKIX_OBJECT_LEAK_TEST */
error =
@ -2072,7 +2072,7 @@ do {
pkix_pl_lifecycle_ObjectTableUpdate(objCountTable);
}
PR_LOG(pkixLog, 1, ("Memory leak test: Loop %d\n", memLeakLoopCount));
PR_LOG(pkixLog, 1, ("Memory leak test: Loop %d\n", memLeakLoopCount++));
#endif /* PKIX_OBJECT_LEAK_TEST */
error = PKIX_PL_NssContext_Create(

Просмотреть файл

@ -48,12 +48,10 @@
extern PRLogModuleInfo *pkixLog;
#ifdef PR_LOGGING
#ifdef DEBUG_kaie
void
pkix_trace_dump_cert(const char *info, PKIX_PL_Cert *cert, void *plContext)
{
PKIX_ENTER(FORWARDBUILDERSTATE, "pkix_trace_dump_cert");
if (pkixLog && PR_LOG_TEST(pkixLog, PR_LOG_DEBUG)) {
PKIX_PL_String *unString;
char *unAscii;
@ -1555,6 +1553,7 @@ cleanup:
PKIX_DECREF(policyChecker);
PKIX_DECREF(userChecker);
PKIX_DECREF(userCheckersList);
PKIX_DECREF(userCheckerExtOIDs);
PKIX_RETURN(BUILD);
}
@ -2673,7 +2672,7 @@ pkix_BuildForwardDepthFirstSearch(
PKIX_VERIFYNODECREATEFAILED);
}
#ifdef PR_LOGGING
#ifdef DEBUG_kaie
pkix_trace_dump_cert(
"pkix_BuildForwardDepthFirstSearch calling pkix_Build_VerifyCertificate",
state->candidateCert, plContext);

Просмотреть файл

@ -939,7 +939,7 @@ pkix_CheckChain(
continue;
}
#ifdef PR_LOGGING
#ifdef DEBUG_kaie
pkix_trace_dump_cert("pkix_CheckChain", cert, plContext);
#endif

Просмотреть файл

@ -956,6 +956,8 @@ pkix_List_AppendList(
cleanup:
PKIX_DECREF(item);
PKIX_RETURN(LIST);
}