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

Re: [Bug report] Crash when creating patch

From
Jeff King <peff@peff.net>
Date
Nov 4, 2020, 13:24 UTC
Message-ID
<20201104132428.GA2491189@coredump.intra.peff.net>
In-Reply-To
<CAO9fQ5pm2vCGrnj59QZg-fJ8VpnrsNoaVXRqd_Lsuw6rEaN3XQ@mail.gmail.com>
On Wed, Nov 04, 2020 at 11:18:10AM +0100, Johannes Postler wrote:
Show 5 quoted lines
> [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
Previous: Johannes PostlerNext: Jeff King
Message 2 of 17 in “[Bug report] Crash when creating patch”
  1. Johannes PostlerNov 4, 2020
  2. Jeff KingNov 4, 2020
  3. 1/3 format-patch: refactor output selectionJeff King, Nov 4, 2020
  4. Eric SunshineNov 4, 2020
  5. Jeff KingNov 4, 2020
  6. 2/3 format-patch: tie file-opening logic to output_directoryJeff King, Nov 4, 2020
  7. Eric SunshineNov 4, 2020
  8. 3/3 format-patch: support --output optionJeff King, Nov 4, 2020
  9. Eric SunshineNov 4, 2020
  10. Jeff KingNov 4, 2020
  11. Eric SunshineNov 4, 2020
  12. Junio C HamanoNov 4, 2020
  13. format-patch --outputJeff King, Nov 4, 2020
  14. 1/3 format-patch: refactor output selectionJeff King, Nov 4, 2020
  15. 2/3 format-patch: tie file-opening logic to output_directoryJeff King, Nov 4, 2020
  16. 3/3 format-patch: support --output optionJeff King, Nov 4, 2020
  17. Johannes PostlerNov 5, 2020

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.