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

Re: [PATCH] Fix buffer overflow in config parser

From
Markus Heidelberg <markus.heidelberg@web.de>
Date
Apr 8, 2009, 22:58 UTC
Message-ID
<200904090058.42751.markus.heidelberg@web.de>
In-Reply-To
<49DD21A0.3040505@intra2net.com>
Thomas Jarosch, 09.04.2009:
Show 7 quoted lines
> Hello together,
> 
> attached is a small patch to fix a buffer overflow in config.c.
> Patch is against git master's HEAD.
> 
> I didn't send this one inline as I wanted to
> preserve the 1024+ byte long line.
You could send the patch inline and attach the example config.
Show 13 quoted lines
> diff --git a/config.c b/config.c
> index b76fe4c..a9c67e8 100644
> --- a/config.c
> +++ b/config.c
> @@ -72,7 +72,7 @@ static char *parse_value(void)
>                         }
>                 }
>                 if (space) {
> -                       if (len)
> +                       if (len && len < sizeof(value)-1)
>                                 value[len++] = ' ';
>                         space = 0;
>                 }
At the beginning of the for loop, there is already an overflow guard.
		if (len >= sizeof(value))
			return NULL;
It would probably be better to fix it at this place.
		if (len >= sizeof(value)-1)
			return NULL;
Markus
Previous: Thomas JaroschNext: Markus Heidelberg
Message 2 of 5 in “Fix buffer overflow in config parser”
  1. Fix buffer overflow in config parserThomas Jarosch, Apr 8, 2009
  2. Markus HeidelbergApr 8, 2009
  3. Markus HeidelbergApr 8, 2009
  4. Thomas JaroschApr 9, 2009
  5. Markus HeidelbergApr 10, 2009

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.