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

[PATCH 1/3] write_entry: fix leak when retrying delayed filter

From
Jeff King <peff@peff.net>
Date
Oct 9, 2017, 17:48 UTC
Message-ID
<20171009174824.tt5tpxdvcvzbyvnl@sigill.intra.peff.net>
In-Reply-To
<20171009174715.a6wziu6w535u6rd2@sigill.intra.peff.net>

When write_entry() retries a delayed filter request, we don't need to send the blob content to the filter again, and set the pointer to NULL. But doing so means we leak the contents we read earlier from read_blob_entry(). Let's make sure to free it before dropping the pointer.

Signed-off-by: Jeff King <peff@peff.net>
---
 entry.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/entry.c b/entry.c
index ab79f1f69c..637c5958b0 100644
--- a/entry.c
+++ b/entry.c
@@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
 			if (dco && dco->state != CE_NO_DELAY) {
 				/* Do not send the blob in case of a retry. */
 				if (dco->state == CE_RETRY) {
+					free(new);
 					new = NULL;
 					size = 0;
 				}
-- 
2.15.0.rc0.421.gf5a676fd56
Previous: Jeff KingNext: Junio C Hamano
Message 18 of 26 in “fix temporary garbage in the cache entry”
  1. 0/2 fix temporary garbage in the cache entrylars.schneider@autodesk.com, Oct 5, 2017
  2. 2/2 entry.c: check if file exists after checkoutlars.schneider@autodesk.com, Oct 5, 2017
  3. Jeff KingOct 5, 2017
  4. Junio C HamanoOct 6, 2017
  5. Jeff KingOct 6, 2017
  6. Junio C HamanoOct 6, 2017
  7. Jeff KingOct 6, 2017
  8. Junio C HamanoOct 6, 2017
  9. Lars SchneiderOct 8, 2017
  10. 1/2 entry.c: update cache entry only for existing fileslars.schneider@autodesk.com, Oct 5, 2017
  11. Jeff KingOct 5, 2017
  12. Junio C HamanoOct 5, 2017
  13. Jeff KingOct 5, 2017
  14. Junio C HamanoOct 5, 2017
  15. Jeff KingOct 6, 2017
  16. Lars SchneiderOct 8, 2017
  17. Jeff KingOct 9, 2017
  18. 1/3 write_entry: fix leak when retrying delayed filterJeff King, Oct 9, 2017
  19. Junio C HamanoOct 10, 2017
  20. Simon RuderichOct 10, 2017
  21. Jeff KingOct 10, 2017
  22. Simon RuderichOct 10, 2017
  23. 2/3 write_entry: avoid reading blobs in CE_RETRY caseJeff King, Oct 9, 2017
  24. Junio C HamanoOct 10, 2017
  25. 3/3 write_entry: untangle symlink and regular-file casesJeff King, Oct 9, 2017
  26. Junio C HamanoOct 10, 2017

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.