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

Re: [PATCH 1/1] mingw: safe-guard a bit more against getenv() problems

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 15, 2019, 18:25 UTC
Message-ID
<xmqqh8d46h9n.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<96793350-0991-6e8f-6ab2-15777e2071be@jeffhostetler.com>
Jeff Hostetler <git@jeffhostetler.com> writes:
Show 20 quoted lines
>> diff --git a/compat/mingw.c b/compat/mingw.c
>> index 4276297595..8141f77189 100644
>> --- a/compat/mingw.c
>> +++ b/compat/mingw.c
>> @@ -1632,7 +1632,7 @@ int mingw_kill(pid_t pid, int sig)
>>    */
>>   char *mingw_getenv(const char *name)
>>   {
>> -#define GETENV_MAX_RETAIN 30
>> +#define GETENV_MAX_RETAIN 64
>>   	static char *values[GETENV_MAX_RETAIN];
>>   	static int value_counter;
>>   	int len_key, len_value;
>>
>
> Why not use a mem_pool for this?  We have that code isolated
> and re-usable now.  Have mingw_getenv() copy the string into
> the pool always return the pointer from within the pool.  The
> pool automatically handles allocating new blocks as necessary.
> And (if we care) we can bulk free the pool before existing.

Probably a good idea in the longer term. The patch as posted would do for the upcoming release, though.

Thanks, both.
Previous: Jeff HostetlerNext: Johannes Schindelin
Message 4 of 7 in “Safe-guard the Windows code a bit more against getenv() problems”
  1. 0/1 Safe-guard the Windows code a bit more against getenv() problemsJohannes Schindelin via GitGitGadget, Feb 15, 2019
  2. 1/1 mingw: safe-guard a bit more against getenv() problemsJohannes Schindelin via GitGitGadget, Feb 15, 2019
  3. Jeff HostetlerFeb 15, 2019
  4. Junio C HamanoFeb 15, 2019
  5. Johannes SchindelinFeb 18, 2019
  6. Jeff KingFeb 21, 2019
  7. Jeff KingFeb 21, 2019

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.