Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1560787 > unrolled thread

Re: [PATCH 21/46] selinux: Two function calls less in range_read() after error detection

Started byCasey Schaufler <casey@schaufler-ca.com>
First post2017-01-17 17:40 +0100
Last post2017-01-17 17:40 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 21/46] selinux: Two function calls less in range_read()  after error detection Casey Schaufler <casey@schaufler-ca.com> - 2017-01-17 17:40 +0100

#1560787 — Re: [PATCH 21/46] selinux: Two function calls less in range_read() after error detection

FromCasey Schaufler <casey@schaufler-ca.com>
Date2017-01-17 17:40 +0100
SubjectRe: [PATCH 21/46] selinux: Two function calls less in range_read() after error detection
Message-ID<t0EXF-VQ-41@gated-at.bofh.it>
On 1/15/2017 7:21 AM, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sat, 14 Jan 2017 20:20:15 +0100
>
> Adjust a jump target to avoid two calls of the function "kfree" at the end
> after a memory allocation failed for the local variable "rt".
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
>  security/selinux/ss/policydb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c
> index 4cd96ce51322..0d2f64558c0a 100644
> --- a/security/selinux/ss/policydb.c
> +++ b/security/selinux/ss/policydb.c
> @@ -1857,7 +1857,7 @@ static int range_read(struct policydb *p, void *fp)
>  		rt = kzalloc(sizeof(*rt), GFP_KERNEL);
>  		if (!rt) {
>  			rc = -ENOMEM;
> -			goto out;
> +			goto exit;

Why not "return rc;"?
goto to a return is wrong.

>  		}
>  
>  		rc = next_entry(buf, fp, (sizeof(u32) * 2));
> @@ -1909,6 +1909,7 @@ static int range_read(struct policydb *p, void *fp)
>  out:
>  	kfree(rt);
>  	kfree(r);
> +exit:
>  	return rc;
>  }
>  

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web