Hi Hannes, On Thu, 27 Apr 2017, Johannes Sixt wrote: > Am 26.04.2017 um 22:21 schrieb Johannes Schindelin: > > Reported by, you guessed it, Coverity. > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > > --- > > builtin/fast-export.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/builtin/fast-export.c b/builtin/fast-export.c > > index e0220630d00..828d41c0c11 100644 > > --- a/builtin/fast-export.c > > +++ b/builtin/fast-export.c > > @@ -765,6 +765,7 @@ static void handle_tag(const char *name, struct tag > > *tag) > > (int)(tagger_end - tagger), tagger, > > tagger == tagger_end ? "" : "\n", > > (int)message_size, (int)message_size, message ? message : ""); > > + free(buf); > > } > > > > static struct commit *get_commit(struct rev_cmdline_entry *e, char > > *full_name) > > > > There is an early return in the function that is not covered by this patch. Thanks! > Look for "case DROP". Or for "return" ;-) I briefly looked into simply releasing the memory earlier, but the tagger variable used just before the inserted free(buf) actually points into the buffer, so I had to repeat the free(buf) for the early return. Thank you! Dscho