From 21d3ca10d52ffadf5abcf57edc52a16d22975c8d Mon Sep 17 00:00:00 2001 From: "Hon Ching(Vicky) Lo" Date: Wed, 7 Sep 2016 22:11:00 -0400 Subject: [PATCH 23/28] [PATCH] Fix more memory leaks in Tspi_Context_Connect obj_context_get_machine_name allocated memory for the 'machine_name'. 'machine_name' needs to be freed inside the IF-block of the function, regardless whether RPC_OpenContext succeeds or fails. Signed-off-by: Hon Ching(Vicky) Lo From https://sourceforge.net/p/trousers/trousers/ci/21d3ca10d52ffadf5abcf57edc52a16d22975c8d --- src/tspi/tspi_context.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tspi/tspi_context.c b/src/tspi/tspi_context.c index 93ce3ed..f3e05cf 100644 --- a/src/tspi/tspi_context.c +++ b/src/tspi/tspi_context.c @@ -79,8 +79,11 @@ Tspi_Context_Connect(TSS_HCONTEXT tspContext, /* in */ return result; if ((result = RPC_OpenContext(tspContext, machine_name, - CONNECTION_TYPE_TCP_PERSISTANT))) + CONNECTION_TYPE_TCP_PERSISTANT))) { + free(machine_name); return result; + } + } else { if ((machine_name = Trspi_UNICODE_To_Native((BYTE *)wszDestination, NULL)) == NULL) { @@ -99,6 +102,8 @@ Tspi_Context_Connect(TSS_HCONTEXT tspContext, /* in */ return result; } + free(machine_name); + if ((obj_tpm_add(tspContext, &hTpm))) return TSPERR(TSS_E_INTERNAL_ERROR); -- 1.8.3.1