git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] pretty: fix buffer over-read with %> and %<

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 27, 2017, 01:46 UTC
Message-ID
<xmqqh8tgfq8g.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20171126025222.7831-1-mwnx@gmx.com>
mwnx <mwnx@gmx.com> writes:
Show 10 quoted lines
> diff --git a/pretty.c b/pretty.c
> index 2f6b0ae6c..4c70bad45 100644
> --- a/pretty.c
> +++ b/pretty.c
> @@ -1021,7 +1021,7 @@ static size_t parse_padding_placeholder(struct strbuf *sb,
>  		const char *end = start + strcspn(start, ",)");
>  		char *next;
>  		int width;
> -		if (!end || end == start)
> +		if (!*end || end == start)

Yuck. This is so obvious a typo as it is quite clear that a few lines above will never give us !end. Well spotted.

By the way, Documentation/SubmittingPatches has this in "(5) Certify your work" section:

    Also notice that a real name is used in the Signed-off-by: line. Please
    don't hide your real name.
Show 18 quoted lines
>  			return 0;
>  		width = strtol(start, &next, 10);
>  		if (next == start || width == 0)
> diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
> index 591f35daa..4d9555962 100755
> --- a/t/t4205-log-pretty-formats.sh
> +++ b/t/t4205-log-pretty-formats.sh
> @@ -598,4 +598,10 @@ test_expect_success ':only and :unfold work together' '
>  	test_cmp expect actual
>  '
>  
> +test_expect_success 'unterminated alignment formatting' '
> +	git log -n1 --format="%<(42" >actual &&
> +	echo "%<(42" >expected &&
> +	test_cmp expected actual
> +'
> +
>  test_done
Previous: mwnxNext: mwnx
Message 2 of 4 in “pretty: fix buffer over-read with %> and %<”
  1. pretty: fix buffer over-read with %> and %<mwnx, Nov 26, 2017
  2. Junio C HamanoNov 27, 2017
  3. mwnxNov 27, 2017
  4. Junio C HamanoNov 28, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.