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

Re: [PATCH] Improved error messages when temporary file creation fails

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 8, 2010, 02:01 UTC
Message-ID
<7vpqtdm3a4.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20101207212041.GG25767@bzzt.net>
Arnout Engelen <arnouten@bzzt.net> writes:
Show 20 quoted lines
> Thanks to you and Jonathan again for the feedback.
>
> On Tue, Dec 07, 2010 at 12:56:17PM -0800, Junio C Hamano wrote:
>> > +	char origtemplate[255];
>> > +	strlcpy(origtemplate, template, 255);
>> 
>> Why "255"?
>
> Random - 'i had to choose something'.
>
>> It may happen to be sufficiently large for the current callers, but what
>> provisions if any are made to help the compiler or the runtime protect us
>> from new and broken callers?  Use of strlcpy() there hides the issue from
>> the runtime by avoiding segfault, but it actively harms us by making the
>> code silently behave incorrectly without segfaulting, no?
>
> Only in a small way: when a bigger template is encountered and the mkstemp 
> call succeeds, there is no problem. Only when xmkstemp fails *and* clears the
> template, the diagnostic error message shows a truncated version of the 
> original.

Ah, ok, it seems that I misread the patch. This copy you are making is not used to actually construct the filename used for creating the temporary file, so there is no risk the function misbehaving; we would just give a truncated error report, which is no worse than what we have been giving the users anyway.

Previous: Jonathan NiederNext: Arnout Engelen
Message 7 of 12 in “Improved error messages when temporary file creation fails”
  1. Improved error messages when temporary file creation failsArnout Engelen, Dec 7, 2010
  2. Jonathan NiederDec 7, 2010
  3. Junio C HamanoDec 7, 2010
  4. Arnout EngelenDec 7, 2010
  5. Jakub NarebskiDec 7, 2010
  6. Jonathan NiederDec 8, 2010
  7. Junio C HamanoDec 8, 2010
  8. Arnout EngelenDec 18, 2010
  9. Jonathan NiederDec 18, 2010
  10. Junio C HamanoDec 18, 2010
  11. Junio C HamanoDec 18, 2010
  12. Arnout EngelenDec 18, 2010

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.