Disclaimer:
I could not complie-test or runtime-test these patches right now. This is a 
pure code-only review of the patches.

The patch is not correct. The free may only be performed in case of result == 
TSS2_SUCCESS. The current version has a potential double-free. In case of 
error, RPC_ExecuteTransport_TP will falsely free this memory. 

This needs to be fixed inside RPC_ExecuteTransport_TP then this patch would be 
correct, but a bunch of other places would probably need to be adjusted as well.

This is going to be a major rewrite I fear...

Am Mittwoch, den 09.04.2014, 15:41 -0300 schrieb [email protected]:
> From: Richard Maciel <[email protected]>
> 
> Related to coverity CID 10307.
> 
> Pointer handles got memory allocated for it, but that memory is never
> freed at the end of the function.
> 
> Signed-off-by: Richard Maciel <[email protected]>
> ---
>  src/tspi/tsp_auth.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/tspi/tsp_auth.c b/src/tspi/tsp_auth.c
> index 5ee6f5d..f11fa60 100755
> --- a/src/tspi/tsp_auth.c
> +++ b/src/tspi/tsp_auth.c
> @@ -1225,6 +1225,8 @@ Transport_TerminateHandle(TSS_HCONTEXT tspContext, /* 
> in */
>       result = obj_context_transport_execute(tspContext, 
> TPM_ORD_Terminate_Handle, 0, NULL,
>                                              NULL, &handlesLen, &handles, 
> NULL, NULL, NULL, NULL);
>  
> +     free(handles);
> +
>       return result;
>  }
>  #endif

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
TrouSerS-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/trousers-tech

Reply via email to