Quoting Christian Brauner ([email protected]):
> On Mon, Sep 07, 2015 at 05:03:37PM +0000, Serge Hallyn wrote:
> > Quoting Serge Hallyn ([email protected]):
> > > Quoting Christian Brauner ([email protected]):
> > >
> > > I'm probably wrong, but
> > >
> > > 1. if the buffer is non-null-terminated, then can't the memmove of
> > > strlen(del) - needlelen + 1 end up in a segv?
> > > 2. the comment should probably mention newlines. If needle doesn't
> > > include newline, and the string is a policy, we'll end up
> > > with extra newlines. Which may not matter, unless we do
> > > thousands of operations on a container...
> >
> > In fact, if it is not null-terminated, you can't do the strlen(del)
> > safely, can you?
>
> Right, I would change
> memmove(del, del + needlelen, strlen(del) - needlelen + 1);
> to
> memmove(del, del + needlelen, strnlen(del, haystacklen) - needlelen);
Should probably be somethin glike
memmove(del, del + needlelen, strnlen(del, haystacklen-del) -
needlelen);
del[needlelen] = '\0';
I'm not convinced eventhat is right. We may need to either always assume it is
null-terminated, or always track the current valid length of the string.
(and/or
keep extra state showing whether null-terminated or not)
> The Current master relies on the same idea in mod_rdep(), I'll send a patch
> for
> the current master in a few minutes, unless you're on it right now.
I'm not. Thanks.
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel