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

[PATCH 3/5] diff --color-moved-ws: fix a memory leak

From
PWPhillip Wood <phillip.wood@talktalk.net>
Date
Oct 2, 2018, 17:55 UTC
Message-ID
<20181002175514.31495-3-phillip.wood@talktalk.net>
In-Reply-To
<20181002175514.31495-1-phillip.wood@talktalk.net>
From: Phillip Wood <phillip.wood@dunelm.org.uk>

Don't duplicate the indentation string if we're not going to use it. This was found with asan.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
---
 diff.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/diff.c b/diff.c
index 0096bdc339..efadd05c90 100644
--- a/diff.c
+++ b/diff.c
@@ -785,11 +785,15 @@ static int compute_ws_delta(const struct emitted_diff_symbol *a,
 	const struct emitted_diff_symbol *longer =  a->len > b->len ? a : b;
 	const struct emitted_diff_symbol *shorter = a->len > b->len ? b : a;
 	int d = longer->len - shorter->len;
+	int ret = !strncmp(longer->line + d, shorter->line, shorter->len);
+
+	if (!ret)
+		return ret;
 
 	out->string = xmemdupz(longer->line, d);
 	out->current_longer = (a == longer);
 
-	return !strncmp(longer->line + d, shorter->line, shorter->len);
+	return ret;
 }
 
 static int cmp_in_block_with_wsd(const struct diff_options *o,
-- 
2.19.0
Previous: Phillip WoodNext: Stefan Beller
Message 5 of 21 in “diff --color-moved-ws: fix double free crash”
  1. 1/5 diff --color-moved-ws: fix double free crashPhillip Wood, Oct 2, 2018
  2. 2/5 diff --color-moved-ws: fix out of bounds string accessPhillip Wood, Oct 2, 2018
  3. Stefan BellerOct 2, 2018
  4. Phillip WoodOct 3, 2018
  5. 3/5 diff --color-moved-ws: fix a memory leakPhillip Wood, Oct 2, 2018
  6. Stefan BellerOct 2, 2018
  7. Phillip WoodOct 3, 2018
  8. Martin ÅgrenOct 3, 2018
  9. 4/5 diff --color-moved-ws: fix another memory leakPhillip Wood, Oct 2, 2018
  10. Stefan BellerOct 2, 2018
  11. 5/5 diff --color-moved: fix a memory leakPhillip Wood, Oct 2, 2018
  12. Stefan BellerOct 2, 2018
  13. Stefan BellerOct 2, 2018
  14. Phillip WoodOct 3, 2018
  15. 0/5 diff --color-moved-ws: fix double free crashPhillip Wood, Oct 4, 2018
  16. 2/5 diff --color-moved-ws: fix out of bounds string accessPhillip Wood, Oct 4, 2018
  17. 3/5 diff --color-moved-ws: fix a memory leakPhillip Wood, Oct 4, 2018
  18. 5/5 diff --color-moved: fix a memory leakPhillip Wood, Oct 4, 2018
  19. Stefan BellerOct 4, 2018
  20. 4/5 diff --color-moved-ws: fix another memory leakPhillip Wood, Oct 4, 2018
  21. 1/5 diff --color-moved-ws: fix double free crashPhillip Wood, Oct 4, 2018

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.