potential memory leak cleanup

pull/313/head
JacobBarthelmeh 2021-01-27 07:40:41 -07:00 committed by Jacob Barthelmeh
parent 49bac53e2f
commit 58d0b54ed8
3 changed files with 5 additions and 0 deletions

View File

@ -1395,6 +1395,7 @@ void wolfSSH_AGENT_free(WOLFSSH_AGENT_CTX* agent)
if (agent != NULL) { if (agent != NULL) {
if (agent->msg != NULL) if (agent->msg != NULL)
WFREE(agent->msg, agent->heap, DYNTYPE_AGENT_BUFFER); WFREE(agent->msg, agent->heap, DYNTYPE_AGENT_BUFFER);
wc_FreeRng(&agent->rng);
wolfSSH_AGENT_ID_list_free(agent->idList, heap); wolfSSH_AGENT_ID_list_free(agent->idList, heap);
WMEMSET(agent, 0, sizeof(*agent)); WMEMSET(agent, 0, sizeof(*agent));
WFREE(agent, heap, DYNTYPE_AGENT); WFREE(agent, heap, DYNTYPE_AGENT);

View File

@ -591,6 +591,9 @@ int wolfSSH_accept(WOLFSSH* ssh)
ssh->ctx->agentCb(WOLFSSH_AGENT_LOCAL_SETUP, ssh->ctx->agentCb(WOLFSSH_AGENT_LOCAL_SETUP,
ssh->agentCbCtx); ssh->agentCbCtx);
} }
if (ssh->agent != NULL)
wolfSSH_AGENT_free(ssh->agent);
ssh->agent = newAgent;
} }
#endif /* WOLFSSH_AGENT */ #endif /* WOLFSSH_AGENT */
ssh->acceptState = ACCEPT_CLIENT_SESSION_ESTABLISHED; ssh->acceptState = ACCEPT_CLIENT_SESSION_ESTABLISHED;

View File

@ -5643,6 +5643,7 @@ static int wolfSSH_SFTP_GetHandle(WOLFSSH* ssh, byte* handle, word32* handleSz)
case STATE_GET_HANDLE_CLEANUP: case STATE_GET_HANDLE_CLEANUP:
WLOG(WS_LOG_SFTP, "SFTP GET HANDLE STATE: CLEANUP"); WLOG(WS_LOG_SFTP, "SFTP GET HANDLE STATE: CLEANUP");
wolfSSH_SFTP_buffer_free(ssh, &state->buffer);
if (ssh->getHandleState != NULL) { if (ssh->getHandleState != NULL) {
WFREE(ssh->getHandleState, WFREE(ssh->getHandleState,
ssh->ctx->heap, DYNTYPE_SFTP_STATE); ssh->ctx->heap, DYNTYPE_SFTP_STATE);