[Freeipa-devel] [PATCH 0059] Fix potential crash after free(uninitialized variable)

Adam Tkac atkac at redhat.com
Fri Sep 14 13:34:13 UTC 2012


On Wed, Sep 12, 2012 at 01:07:56PM +0200, Petr Spacek wrote:
> Hello,
> 
> This patch fixes potential crash after free(uninitialized variable)
> in persistent search code.
> 
> Coverity CID 13088.

Ack

> From 3197b4ace3e852495bf4f9fdc32192459160027c Mon Sep 17 00:00:00 2001
> From: Petr Spacek <pspacek at redhat.com>
> Date: Wed, 12 Sep 2012 13:04:39 +0200
> Subject: [PATCH] Fix potential crash after free(uninitialized variable) in
>  persistent search code.
> 
> Coverity CID 13088.
> 
> Signed-off-by: Petr Spacek <pspacek at redhat.com>
> ---
>  src/ldap_helper.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/src/ldap_helper.c b/src/ldap_helper.c
> index 92edbe7159272772e1c993d46da7c93382cbc5d4..67a64b79159983c83cb1bfc73c4b02a9bce986a7 100644
> --- a/src/ldap_helper.c
> +++ b/src/ldap_helper.c
> @@ -2878,8 +2878,8 @@ cleanup:
>  static isc_result_t
>  ldap_pscontrol_create(LDAPControl **ctrlp)
>  {
> -	BerElement *ber;
> -	struct berval *berval;
> +	BerElement *ber = NULL;
> +	struct berval *berval = NULL;
>  	isc_result_t result = ISC_R_FAILURE;
>  
>  	REQUIRE(ctrlp != NULL && *ctrlp == NULL);
> @@ -2905,14 +2905,13 @@ ldap_pscontrol_create(LDAPControl **ctrlp)
>  			!= LDAP_SUCCESS)
>  		goto cleanup;
>  
> -	ber_free(ber, 1);
> -	ber_bvfree(berval);
> -
> -	return ISC_R_SUCCESS;
> +	result = ISC_R_SUCCESS;
>  
>  cleanup:
> -	ber_free(ber, 1);
> -	ber_bvfree(berval);
> +	if (ber != NULL)
> +		ber_free(ber, 1);
> +	if (berval != NULL)
> +		ber_bvfree(berval);
>  
>  	return result;
>  }
> -- 
> 1.7.11.4
> 


-- 
Adam Tkac, Red Hat, Inc.




More information about the Freeipa-devel mailing list