memory managment in crl.c with crl monitor

This commit is contained in:
Jacob Barthelmeh
2017-02-09 15:39:55 -07:00
parent c022614e07
commit 0cbc640aad

View File

@@ -873,9 +873,19 @@ int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, int monitor)
pathBuf[pathLen] = '\0'; /* Null Terminate */ pathBuf[pathLen] = '\0'; /* Null Terminate */
if (type == SSL_FILETYPE_PEM) { if (type == SSL_FILETYPE_PEM) {
/* free old path before setting a new one */
if (crl->monitors[0].path) {
XFREE(crl->monitors[0].path, crl->heap,
DYNAMIC_TYPE_CRL_MONITOR);
}
crl->monitors[0].path = pathBuf; crl->monitors[0].path = pathBuf;
crl->monitors[0].type = SSL_FILETYPE_PEM; crl->monitors[0].type = SSL_FILETYPE_PEM;
} else { } else {
/* free old path before setting a new one */
if (crl->monitors[1].path) {
XFREE(crl->monitors[1].path, crl->heap,
DYNAMIC_TYPE_CRL_MONITOR);
}
crl->monitors[1].path = pathBuf; crl->monitors[1].path = pathBuf;
crl->monitors[1].type = SSL_FILETYPE_ASN1; crl->monitors[1].type = SSL_FILETYPE_ASN1;
} }