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

[PATCH] bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option

From
BGbarroit via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 12, 2024, 16:26 UTC
Message-ID
<pull.1693.git.1710260812280.gitgitgadget@gmail.com>
From: Jiamu Sun <barroit@linux.com>

executing `git bugreport --no-suffix` led to a segmentation fault due to strbuf_addftime() being called with a NULL option_suffix variable. This occurs because negating the "--[no-]suffix" option causes the parser to set option_suffix to NULL, which is not handled prior to calling strbuf_addftime().

Signed-off-by: Jiamu Sun <barroit@linux.com>
---
    bugreport.c: fix a crash in git bugreport with --no-suffix option
    
    executing git bugreport --no-suffix led to a segmentation fault due to
    strbuf_addftime() being called with a NULL option_suffix variable. This
    occurs because negating the "--[no-]suffix" option causes the parser to
    set option_suffix to NULL, which is not handled prior to calling
    strbuf_addftime().
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1693%2Fbarroit%2Ffix-bugreport-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1693/barroit/fix-bugreport-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1693
 builtin/bugreport.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/builtin/bugreport.c b/builtin/bugreport.c
index 3106e56a130..32281815b77 100644
--- a/builtin/bugreport.c
+++ b/builtin/bugreport.c
@@ -138,8 +138,11 @@ int cmd_bugreport(int argc, const char **argv, const char *prefix)
 	strbuf_complete(&report_path, '/');
 	output_path_len = report_path.len;
 
-	strbuf_addstr(&report_path, "git-bugreport-");
-	strbuf_addftime(&report_path, option_suffix, localtime_r(&now, &tm), 0, 0);
+	strbuf_addstr(&report_path, "git-bugreport");
+	if (option_suffix) {
+		strbuf_addch(&report_path, '-');
+		strbuf_addftime(&report_path, option_suffix, localtime_r(&now, &tm), 0, 0);
+	}
 	strbuf_addstr(&report_path, ".txt");
 
 	switch (safe_create_leading_directories(report_path.buf)) {

base-commit: 945115026aa63df4ab849ab14a04da31623abece
-- 
gitgitgadget
Next: Junio C Hamano
Message 1 of 12 in “bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option”
  1. bugreport.c: fix a crash in `git bugreport` with `--no-suffix` optionbarroit via GitGitGadget, Mar 12, 2024
  2. Junio C HamanoMar 13, 2024
  3. Junio C HamanoMar 13, 2024
  4. Taylor BlauMar 16, 2024
  5. 0/2 bugreport.c: fix a crash in git bugreport with --no-suffix optionbarroit via GitGitGadget, Mar 14, 2024
  6. 1/2 bugreport.c: fix a crash in `git bugreport` with `--no-suffix` optionJiamu Sun via GitGitGadget, Mar 14, 2024
  7. 2/2 doc: update doc file and usage for git-bugreportJiamu Sun via GitGitGadget, Mar 14, 2024
  8. Junio C HamanoMar 14, 2024
  9. Junio C HamanoMar 14, 2024
  10. Jiamu SunMar 15, 2024
  11. bugreport.c: fix a crash in `git bugreport` with `--no-suffix` optionJiamu Sun, Mar 14, 2024
  12. Taylor BlauMar 16, 2024

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.