[prev in list] [next in list] [prev in thread] [next in thread] 

List:       selinux
Subject:    Re: [PATCH] libsepol: free ibendport device names
From:       Stephen Smalley <sds () tycho ! nsa ! gov>
Date:       2017-10-23 14:44:35
Message-ID: 1508769875.24902.2.camel () tycho ! nsa ! gov
[Download RAW message or body]

On Mon, 2017-10-23 at 10:52 +0200, Jan Zarsky wrote:
> When reading policy, ibendport device names are allocated in
> ocontext_read_selinux() but they are not freed when calling
> sepol_policydb_free();
> 
> Fix this by freeing them in ocontext_selinux_free().
> 
> Signed-off-by: Jan Zarsky <jzarsky@redhat.com>

Thanks, this looks correct to me; I'm wondering if we have the same
leak in the kernel code (I think so).

> ---
>  libsepol/src/policydb.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libsepol/src/policydb.c b/libsepol/src/policydb.c
> index 37788f36..c7521235 100644
> --- a/libsepol/src/policydb.c
> +++ b/libsepol/src/policydb.c
> @@ -1420,6 +1420,8 @@ void ocontext_selinux_free(ocontext_t
> **ocontexts)
>  			if (i == OCON_ISID || i == OCON_FS || i ==
> OCON_NETIF
>  				|| i == OCON_FSUSE)
>  				free(ctmp->u.name);
> +			else if (i == OCON_IBENDPORT)
> +				free(ctmp->u.ibendport.dev_name);
>  			free(ctmp);
>  		}
>  	}
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic