On Tue, Aug 14, 2012 at 04:00:21PM +0200, Petr Spacek wrote:
> Hello,
> 
> this patch fixes $SUBJ$.
> 
> Adam, please double-check correctness of this change.
> 
> I had two assumptions:
> - all locking is done inside dns_db_(un)register() functions
> - LDAP instances are decommissioned before dynamic_driver_destroy() call

Ack

> From e314eb7da7bfbbb2ae9d4ce1252d886c9a744e7f Mon Sep 17 00:00:00 2001
> From: Petr Spacek <pspa...@redhat.com>
> Date: Tue, 14 Aug 2012 15:53:42 +0200
> Subject: [PATCH] Fix memory leak in configuration with multiple LDAP
>  instances.
> 
> Signed-off-by: Petr Spacek <pspa...@redhat.com>
> ---
>  src/ldap_driver.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/ldap_driver.c b/src/ldap_driver.c
> index 
> d958d15bdebe5e89dc4948655ffba655073d53e0..117215ae480cdcabb2977037af9a89bb25578243
>  100644
> --- a/src/ldap_driver.c
> +++ b/src/ldap_driver.c
> @@ -1278,6 +1278,7 @@ isc_result_t
>  dynamic_driver_init(isc_mem_t *mctx, const char *name, const char * const 
> *argv,
>                   dns_dyndb_arguments_t *dyndb_args)
>  {
> +     dns_dbimplementation_t *ldapdb_imp_new = NULL;
>       isc_result_t result;
>  
>       REQUIRE(name != NULL);
> @@ -1305,11 +1306,12 @@ dynamic_driver_init(isc_mem_t *mctx, const char 
> *name, const char * const *argv,
>       }
>  
>       /* Register new DNS DB implementation. */
> -     ldapdb_imp = NULL;
>       result = dns_db_register(ldapdb_impname, &ldapdb_create, NULL, mctx,
> -                              &ldapdb_imp);
> +                              &ldapdb_imp_new);
>       if (result != ISC_R_SUCCESS && result != ISC_R_EXISTS)
>               return result;
> +     else if (result == ISC_R_SUCCESS)
> +             ldapdb_imp = ldapdb_imp_new;
>  
>       /* Finally, create the instance. */
>       result = manager_create_db_instance(mctx, name, argv, dyndb_args);
> -- 
> 1.7.11.2
> 


-- 
Adam Tkac, Red Hat, Inc.

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to