[Freeipa-devel] [PATCH 0161] ipa-range-check: Fix memory leaks when freeing range object

Jan Pazdziora jpazdziora at redhat.com
Tue Apr 1 06:49:04 UTC 2014


On Thu, Mar 27, 2014 at 01:14:52PM +0100, Tomas Babej wrote:
> Hi,
> 
> When cleaning the range_info struct, simple free of the struct
> is not enough, we have to free contents of char pointers in the
> struct as well.
> 
> https://fedorahosted.org/freeipa/ticket/4276

[...]


>  1 file changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/daemons/ipa-slapi-plugins/ipa-range-check/ipa_range_check.c b/daemons/ipa-slapi-plugins/ipa-range-check/ipa_range_check.c
> index 0ef33e5869bbcb4f721394ce35e2338095bf5d36..c877a7dc445b31b3de085aa66028d7652df6b9cc 100644
> --- a/daemons/ipa-slapi-plugins/ipa-range-check/ipa_range_check.c
> +++ b/daemons/ipa-slapi-plugins/ipa-range-check/ipa_range_check.c
> @@ -96,6 +96,15 @@ struct domain_info {
>      struct domain_info *next;
>  };
>  
> +static void free_range_info(struct range_info *range) {
> +    if (range != NULL) {
> +        slapi_ch_free_string(&(range->name));
> +        slapi_ch_free_string(&(range->domain_id));
> +        slapi_ch_free_string(&(range->forest_root_id));
> +        slapi_ch_free_string(&(range->id_range_type));
> +        free(range);
> +    }
> +}

In master, the range_info is

	struct range_info {
	    char *name;
	    char *domain_id;
	    uint32_t base_id;
	    uint32_t id_range_size;
	    uint32_t base_rid;
	    uint32_t secondary_base_rid;
	};

-- no forest_root_id and no id_range_type.

So NACK for applying to master. Perhaps there is some dependency
patch?

-- 
Jan Pazdziora
Principal Software Engineer, Identity Management Engineering, Red Hat




More information about the Freeipa-devel mailing list