[CRIU] [PATCH] util: don't leak cr-img objects

Andrew Vagin avagin at virtuozzo.com
Thu Nov 19 04:33:20 PST 2015


On Thu, Nov 19, 2015 at 03:14:39PM +0300, Pavel Emelyanov wrote:
> On 11/18/2015 10:54 AM, Andrey Vagin wrote:
> > From: Andrew Vagin <avagin at virtuozzo.com>
> 
> Some details would be nice. Where does it leak img?

close_image() should be called for empty images.

> 
> > Signed-off-by: Andrew Vagin <avagin at virtuozzo.com>
> > diff --git a/net.c b/net.c
> > index bfdebad..45c8318 100644
> > --- a/net.c
> > +++ b/net.c
> > @@ -726,16 +726,17 @@ err_free:
> >  
> >  static int restore_ip_dump(int type, int pid, char *cmd)
> >  {
> > -	int ret = -1;
> > +	int ret = 0;
> >  	struct cr_img *img;
> >  
> >  	img = open_image(type, O_RSTR, pid);
> > -	if (empty_image(img))
> > -		return 0;
> > -	if (img) {
> > +	if (img == NULL)
> > +		return -1;
> 
> There's no need in this check here, both close_image and empty_image
> check fro it being null.

we need to call close_image() if empty_image(img) is true
> 
> > +
> > +	if (!empty_image(img))
> >  		ret = run_ip_tool(cmd, "restore", NULL, img_raw_fd(img), -1, 0);
> > -		close_image(img);
> > -	}
> > +
> > +	close_image(img);
> >  
> >  	return ret;
> >  }
> > 
> 


More information about the CRIU mailing list