On Thu, Apr 20, 2017 at 06:25:59PM +0700, Nguyễn Thái Ngọc Duy wrote: > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > builtin/log.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/builtin/log.c b/builtin/log.c > index b3b10cc1ed..26d6a3cf14 100644 > --- a/builtin/log.c > +++ b/builtin/log.c > @@ -858,7 +858,8 @@ static int open_next_file(struct commit *commit, const char *subject, > printf("%s\n", filename.buf + outdir_offset); > > if ((rev->diffopt.file = fopen(filename.buf, "w")) == NULL) > - return error(_("Cannot open patch file %s"), filename.buf); > + return error_errno(_("Cannot open patch file %s"), > + filename.buf); > > strbuf_release(&filename); > return 0; Not a new problem with your patch, but just looking at the context it seems clear that "filename" is leaked in the error case. -Peff