git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Johannes Postler <johannes.postler@txture.io>
Cc: git@vger.kernel.org
Subject: Re: [Bug report] Crash when creating patch
Date: Wed, 4 Nov 2020 08:24:28 -0500	[thread overview]
Message-ID: <20201104132428.GA2491189@coredump.intra.peff.net> (raw)
In-Reply-To: <CAO9fQ5pm2vCGrnj59QZg-fJ8VpnrsNoaVXRqd_Lsuw6rEaN3XQ@mail.gmail.com>

On Wed, Nov 04, 2020 at 11:18:10AM +0100, Johannes Postler wrote:

> [josi@localhost typescript]$ git format-patch -1 236a9
> --output=/home/josi/tmp/patches/txt-6117.patch
> 0001-Txture-Core-Implemented-whitelisting-for-groovy-scri.patch
> free(): invalid pointer
> Aborted (core dumped)

Thanks for the report. I was able to reproduce the problem here.

The issue is that "--output" was never supposed to work with
format-patch. But a subtle change in the option parsing a while back
caused it to be respected. And as you noticed, the documentation
mistakenly mentions the option, since format-patch includes the standard
diff-options text.

So one obvious fix would be to forbid it and adjust the documentation.
But because of the way the option parsers interact, it's surprisingly
hard to do so cleanly. It's actually easier to just make it do something
useful (i.e., behave like --stdout but sent to a file). So I did that
instead.

  [1/3]: format-patch: refactor output selection
  [2/3]: format-patch: tie file-opening logic to output_directory
  [3/3]: format-patch: support --output option

 builtin/log.c           | 37 ++++++++++++++++++++++---------------
 t/t4014-format-patch.sh | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 15 deletions(-)

-Peff

  reply	other threads:[~2020-11-04 13:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-04 10:18 [Bug report] Crash when creating patch Johannes Postler
2020-11-04 13:24 ` Jeff King [this message]
2020-11-04 13:25   ` [PATCH 1/3] format-patch: refactor output selection Jeff King
2020-11-04 17:01     ` Eric Sunshine
2020-11-04 17:13       ` Jeff King
2020-11-04 13:27   ` [PATCH 2/3] format-patch: tie file-opening logic to output_directory Jeff King
2020-11-04 17:03     ` Eric Sunshine
2020-11-04 13:29   ` [PATCH 3/3] format-patch: support --output option Jeff King
2020-11-04 17:27     ` Eric Sunshine
2020-11-04 19:15       ` Jeff King
2020-11-04 20:16         ` Eric Sunshine
2020-11-04 18:00     ` Junio C Hamano
2020-11-04 19:26   ` [PATCH v2] format-patch --output Jeff King
2020-11-04 19:28     ` [PATCH v2 1/3] format-patch: refactor output selection Jeff King
2020-11-04 19:28     ` [PATCH v2 2/3] format-patch: tie file-opening logic to output_directory Jeff King
2020-11-04 19:28     ` [PATCH v2 3/3] format-patch: support --output option Jeff King
2020-11-05  6:30     ` [PATCH v2] format-patch --output Johannes Postler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201104132428.GA2491189@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=johannes.postler@txture.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).