Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: utils.c: Fix use of uninitialized memory in metafy().
On Wed, 27 Nov 2013 10:54:09 -0800
Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> On Nov 27, 6:07pm, Peter Stephenson wrote:
> }
> } Hmm... I think the intention probably *is* to check if there's null
> } termination at "buf + len", on the assumption that the first "len" bytes
> } need metafying regardless. So if we've got only len valid bytes, not
> } null-terminated (or null-terminated by accident because the next byte
> } that isn't actually valid for the allocation happens to be null), we've
> } got no way of knowing this given the current interface.
>
> Does it actually matter? The only reason for (*e != 0) as far as I can
> tell is to be sure we've actually done (*e = '\0') at the very end of
> the whole thing [comment: "... unchanged (a terminating null character
> is appended to buf if necessary)"].
>
> Can't we just move the *e = '\0' outside the "if" body and skip the test
> in the condition?
Seems reasonable --- it requires the problem Simon was seeing to be in a
case that's requesting reallocation, else that assignment is going to
cause problems, but if it does cause problems we need to change the
caller.
pws
Messages sorted by:
Reverse Date,
Date,
Thread,
Author