Re: [PATCH] state: backend_bucket_circular: fix memory leak

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 08, 2018 at 07:45:23PM +0200, Ulrich Ölmann wrote:
> Signed-off-by: Ulrich Ölmann <u.oelmann@xxxxxxxxxxxxxx>
> ---
>  common/state/backend_bucket_circular.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)

Applied, thanks

Sascha

> 
> diff --git a/common/state/backend_bucket_circular.c b/common/state/backend_bucket_circular.c
> index 0529421a2c2f..277b94d79737 100644
> --- a/common/state/backend_bucket_circular.c
> +++ b/common/state/backend_bucket_circular.c
> @@ -480,7 +480,8 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path,
>  	circ->fd = open(path, O_RDWR);
>  	if (circ->fd < 0) {
>  		pr_err("Failed to open circular bucket '%s'\n", path);
> -		return -errno;
> +		ret = -errno;
> +		goto out_free;
>  	}
>  #endif
>  
> @@ -489,7 +490,7 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path,
>  		dev_info(dev, "Not using eraseblock %u, it is marked as bad (%d)\n",
>  			 circ->eraseblock, ret);
>  		ret = -EIO;
> -		goto out_free;
> +		goto out_close;
>  	}
>  
>  	circ->bucket.read = state_backend_bucket_circular_read;
> @@ -499,13 +500,15 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path,
>  
>  	ret = state_backend_bucket_circular_init(*bucket);
>  	if (ret)
> -		goto out_free;
> +		goto out_close;
>  
>  	return 0;
>  
> -out_free:
> +out_close:
>  #ifndef __BAREBOX__
>  	close(circ->fd);
> +out_free:
> +	free(circ->mtd);
>  #endif
>  	free(circ);
>  
> -- 
> 2.19.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux