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

Looks good to me.

Am Mittwoch, den 09.04.2014, 15:41 -0300 schrieb [email protected]:
> From: Richard Maciel <[email protected]>
> 
> Related to coverity CID 10310.
> 
> rgbPublicKey member wasn't being released after the return of the
> function (success or failure paths).
> 
> Signed-off-by: Richard Maciel <[email protected]>
> ---
>  src/tcs/rpc/tcstp/rpc_key.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/src/tcs/rpc/tcstp/rpc_key.c b/src/tcs/rpc/tcstp/rpc_key.c
> index 43d4bb8..144da83 100644
> --- a/src/tcs/rpc/tcstp/rpc_key.c
> +++ b/src/tcs/rpc/tcstp/rpc_key.c
> @@ -430,7 +430,7 @@ tcs_wrap_KeyControlOwner(struct tcsd_thread_data *data)
>       TCS_CONTEXT_HANDLE hContext;
>       TCS_KEY_HANDLE hKey;
>       UINT32 ulPublicKeyLength;
> -     BYTE* rgbPublicKey;
> +     BYTE* rgbPublicKey = NULL;
>       UINT32 attribName;
>       TSS_BOOL attribValue;
>       TPM_AUTH ownerAuth;
> @@ -481,13 +481,18 @@ tcs_wrap_KeyControlOwner(struct tcsd_thread_data *data)
>  
>       if (result == TSS_SUCCESS) {
>               initData(&data->comm, 2);
> -             if (setData(TCSD_PACKET_TYPE_AUTH, 0, &ownerAuth, 0, 
> &data->comm))
> +             if (setData(TCSD_PACKET_TYPE_AUTH, 0, &ownerAuth, 0, 
> &data->comm)) {
> +                     free(rgbPublicKey);
>                       return TCSERR(TSS_E_INTERNAL_ERROR);
> -             if (setData(TCSD_PACKET_TYPE_UUID, 1, &uuidData, 0, 
> &data->comm))
> +             }
> +             if (setData(TCSD_PACKET_TYPE_UUID, 1, &uuidData, 0, 
> &data->comm)) {
> +                     free(rgbPublicKey);
>                       return TCSERR(TSS_E_INTERNAL_ERROR);
> +             }
>       } else
>  done:                initData(&data->comm, 0);
>  
> +     free(rgbPublicKey);
>       data->comm.hdr.u.result = result;
>       return TSS_SUCCESS;
>  

------------------------------------------------------------------------------
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