From aa11a6c89cce2eea52f81fc16ea8893068296309 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 28 Mar 2017 17:56:44 +0200 Subject: [PATCH] Fixed memory leak and return value check issue. --- .../crypto/test/TestCryptoCertEnumCertificatesInStore.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/winpr/libwinpr/crypto/test/TestCryptoCertEnumCertificatesInStore.c b/winpr/libwinpr/crypto/test/TestCryptoCertEnumCertificatesInStore.c index 4ef78055d..b112fc80a 100644 --- a/winpr/libwinpr/crypto/test/TestCryptoCertEnumCertificatesInStore.c +++ b/winpr/libwinpr/crypto/test/TestCryptoCertEnumCertificatesInStore.c @@ -44,7 +44,7 @@ int TestCryptoCertEnumCertificatesInStore(int argc, char* argv[]) while ((pCertContext = CertEnumCertificatesInStore(hCertStore, pCertContext))) { status = CertGetNameString(pCertContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, NULL, 0); - if (status) + if (status == 0) return -1; pszNameString = (LPTSTR) malloc(status * sizeof(TCHAR)); @@ -55,11 +55,16 @@ int TestCryptoCertEnumCertificatesInStore(int argc, char* argv[]) } status = CertGetNameString(pCertContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, pszNameString, status); - if (status) + if (status == 0) + { + free (pszNameString); return -1; + } _tprintf(_T("Certificate #%d: %s\n"), index++, pszNameString); + free(pszNameString); + #ifdef WITH_CRYPTUI CryptUIDlgViewContext(CERT_STORE_CERTIFICATE_CONTEXT, pCertContext, NULL, NULL, 0, NULL); #endif