diff --git a/meshcore/agentcore.c b/meshcore/agentcore.c index 82ae754..c869032 100644 --- a/meshcore/agentcore.c +++ b/meshcore/agentcore.c @@ -1654,7 +1654,9 @@ duk_ret_t ILibDuktape_MeshAgent_ServerInfo(duk_context *ctx) #ifndef MICROSTACK_NOTLS if (agent->controlChannel != NULL) { - ILibDuktape_TLS_X509_PUSH(ctx, ILibWebClient_SslGetCert(agent->controlChannel)); + X509 *cert = ILibWebClient_SslGetCert(agent->controlChannel); + ILibDuktape_TLS_X509_PUSH(ctx, cert); + X509_free(cert); } else { diff --git a/microstack/ILibParsers.c b/microstack/ILibParsers.c index 0370f1d..2e1349a 100644 --- a/microstack/ILibParsers.c +++ b/microstack/ILibParsers.c @@ -7997,6 +7997,7 @@ void ILibLifeTime_Destroy(void *LifeTimeToken) struct ILibLifeTime *UPnPLifeTime = (struct ILibLifeTime*)LifeTimeToken; ILibLifeTime_Flush(LifeTimeToken); ILibLinkedList_Destroy(UPnPLifeTime->ObjectList); + ILibLinkedList_Destroy(UPnPLifeTime->DeleteList); UPnPLifeTime->ObjectCount = 0; UPnPLifeTime->ObjectList = NULL; }