Re: [PATCH 3/3] parse_commit(): handle broken whitespace-only timestamp
- From
René Scharfe <l.s.r@web.de>
- Date
- Apr 22, 2023, 15:53 UTC
- Message-ID
- <7f48188b-2e06-9f01-de8d-a24812fb20fe@web.de>
- In-Reply-To
- <20230422135001.GA3942563@coredump.intra.peff.net>
Am 22.04.23 um 15:50 schrieb Jeff King:
Show 16 quoted lines
> diff --git a/commit.c b/commit.c
> index ede810ac1c..56877322d3 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -120,6 +120,16 @@ static timestamp_t parse_commit_date(const char *buf, const char *tail)
> if (dateptr == buf || dateptr == eol)
> return 0;
>
> + /*
> + * trim leading whitespace; parse_timestamp() will do this itself, but
> + * it will walk past the newline at eol while doing so. So we insist
> + * that there is at least one digit here.
> + */
> + while (dateptr < eol && isspace(*dateptr))
> + dateptr++;
> + if (!strchr("0123456789", *dateptr))You could use (our own) isdigit() here instead. It's more concise and efficient.
René