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

Re: found a resource leak in file builtin-fast-export.c

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 9, 2009, 11:04 UTC
Message-ID
<alpine.DEB.1.00.0907091302520.4339@intel-tinevez-2-302>
In-Reply-To
<200907091031.43494.trast@student.ethz.ch>
Hi,
On Thu, 9 Jul 2009, Thomas Rast wrote:
Show 8 quoted lines
> Martin Ettl wrote:
> > 
> > I have attached a patch to resolve this.
> 
> Please read Documentation/SubmittingPatches in the source tree.  And
> use git to track git.git!
> 
> As for the actual patch:
Thanks for inlining it and sparing me (and others) the hassle.
Show 14 quoted lines
> > --- git-1.6.3.3/builtin-fast-export.c	2009-06-22 08:24:25.000000000 +0200
> > +++ git-1.6.3.3/builtin-fast-export_new.c	2009-07-09 09:44:28.000000000 +0200
> > @@ -442,8 +442,9 @@ static void export_marks(char *file)
> >  		deco++;
> >  	}
> >  
> > -	if (ferror(f) || fclose(f))
> > +	if (ferror(f))
> >  		error("Unable to write marks file %s.", file);
> > +  	fclose(f);
> 
> You no longer check the error returned by fclose().  This is
> important, because the FILE* API may buffer writes, and a write error
> may only become apparent when fclose() flushes the file.

Indeed. A better fix would be to replace the || by a |, but this must be accompanied by a comment so it does not get removed due to overzealous compiler warnings.

Ciao, Dscho

Previous: Thomas RastNext: Thomas Rast
Message 3 of 10 in “found a resource leak in file builtin-fast-export.c”
  1. Martin EttlJul 9, 2009
  2. Thomas RastJul 9, 2009
  3. Johannes SchindelinJul 9, 2009
  4. Thomas RastJul 9, 2009
  5. Andreas EricssonJul 9, 2009
  6. Johannes SchindelinJul 9, 2009
  7. Fix export_marks() error handling.Matthias Andree, Jul 9, 2009
  8. Stephen R. van den BergJul 11, 2009
  9. Matthias AndreeJul 13, 2009
  10. Matthias AndreeJul 9, 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.