[CRIU] [PATCH] files: don't check uninitialized memory in create_link_remap()

Andrew Vagin avagin at parallels.com
Tue Aug 19 12:42:16 PDT 2014


On Tue, Aug 19, 2014 at 11:39:20PM +0400, Pavel Emelyanov wrote:
> On 08/19/2014 11:22 PM, Andrey Vagin wrote:
> > Look at this strace output:
> > 107   linkat(45, "", 1017, "./root/git/orig/criu/test/zdtm/live/static/unlink_fstat03.test (deleted)/link_remap.4", AT_EMPTY_PATH) = -1 ENOENT (No such file or director
> > 
> > It's obvious, that we didn't cat the file name.
> 
> We didn't what the file name?

cut

> 
> > Here is an error in calculation of offset for the last symbol.
> > The current version of code sets this offset in strlen(),
> > but it's actually strlen() - 1.
> > 
> > Signed-off-by: Andrey Vagin <avagin at openvz.org>
> > ---
> >  files-reg.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/files-reg.c b/files-reg.c
> > index f6c32df..0ffce0e 100644
> > --- a/files-reg.c
> > +++ b/files-reg.c
> > @@ -433,7 +433,7 @@ static int create_link_remap(char *path, int len, int lfd,
> >  
> >  	link_name[0] = '.';
> >  	memcpy(link_name + 1, path, len);
> > -	tmp = link_name + len + 1;
> > +	tmp = link_name + len;
> >  	while (*tmp != '/') {
> >  		BUG_ON(tmp == link_name);
> >  		tmp--;
> > 
> 


More information about the CRIU mailing list