Re: [PATCH] setup_revisions(): do not access outside argv
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- May 20, 2009, 08:15 UTC
- Message-ID
- <4A13BC3C.5070000@viscovery.net>
- In-Reply-To
- <1242806900-3499-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy schrieb:
Show 21 quoted lines
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> > --- > revision.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/revision.c b/revision.c > index 18b7ebb..be1e307 100644 > --- a/revision.c > +++ b/revision.c > @@ -1241,9 +1241,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch > if (strcmp(arg, "--")) > continue; > argv[i] = NULL; > - argc = i; > - if (argv[i + 1]) > + if (i + 1 < argc && argv[i + 1]) > revs->prune_data = get_pathspec(revs->prefix, argv + i + 1); > + argc = i; > seen_dashdash = 1; > break; > }
Why is this necessary? I'd expect that argv arrays have NULL at the end. If this is a bug, why did noboy notice this earlier? IOW, your commit message is really lacking justification.
-- Hannes