[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