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

Re: 'git fast-export' is crashing on the gcc repo

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 12, 2007, 08:32 UTC
Message-ID
<7v3au89utj.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.LFD.0.99999.0712112045040.555@xanadu.home>
Nicolas Pitre <nico@cam.org> writes:
Show 12 quoted lines
> On Wed, 12 Dec 2007, Alex Riesen wrote:
>
>> Nicolas Pitre, Tue, Dec 11, 2007 23:06:42 +0100:
>> > 
>> > Well, ignore the above.  It seems that most of stdio doesn't set errno 
>> > so the above is crap.
>> > 
>> 
>> Well, it had no reason to in this case. It's not an error.
>> It does not even have to do a syscall.
>
> Which is why I later agreed with your patch.

Still, I like your swapping of size and nmemb parameters, regardless of the "don't bother calling fwrite(3) if size is zero" fix.

We are writing 1 element of size n-byte and expecting the call to return
1.  It may be argued that writing one element of size 0-byte should
always write 1 element (without actually having to go down to write(2),
obviously) successfully and returning 0 from fwrite(3) is a bug ;-)

No, I am just kidding. I checked with POSIX and it clearly says it should return 0 if size or nmemb is zero.

Previous: Nicolas PitreNext: David Kastrup
Message 8 of 10 in “'git fast-export' is crashing on the gcc repo”
  1. Nicolas PitreDec 11, 2007
  2. Marco CostalbaDec 11, 2007
  3. Fix git-fast-export for zero-sized blobsAlex Riesen, Dec 11, 2007
  4. Nicolas PitreDec 11, 2007
  5. Nicolas PitreDec 11, 2007
  6. Alex RiesenDec 12, 2007
  7. Nicolas PitreDec 12, 2007
  8. Junio C HamanoDec 12, 2007
  9. David KastrupDec 12, 2007
  10. Junio C HamanoDec 12, 2007

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.