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

[PATCH] Clear fd after closing to avoid double-close error

From
Jens Lindström <jl@opera.com>
Date
Oct 22, 2013, 12:10 UTC
Message-ID
<1382443823-31317-1-git-send-email-jl@opera.com>
From: Jens Lindstrom <jl@opera.com>

In send_pack(), clear the fd passed to pack_objects() by setting it to -1, since pack_objects() closes the fd (via a call to run_command()).

Not doing so risks having git_transport_push(), caller of send_pack(), closing the fd again, possibly incorrectly closing some other open file.

Signed-off-by: Jens Lindström <jl@opera.com>
---
 send-pack.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/send-pack.c b/send-pack.c
index 7d172ef..7def2af 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -302,6 +302,9 @@ int send_pack(struct send_pack_args *args,
 				finish_async(&demux);
 			return -1;
 		}
+		if (!args->stateless_rpc)
+			/* Closed by pack_objects() via start_command() */
+			fd[1] = -1;
 	}
 	if (args->stateless_rpc && cmds_sent)
 		packet_flush(out);
-- 
1.8.1.2
Next: Duy Nguyen
Message 1 of 6 in “Clear fd after closing to avoid double-close error”
  1. Clear fd after closing to avoid double-close errorJens Lindström, Oct 22, 2013
  2. Duy NguyenOct 22, 2013
  3. Jens LindströmOct 22, 2013
  4. Junio C HamanoOct 22, 2013
  5. Jens LindströmOct 23, 2013
  6. Junio C HamanoOct 23, 2013

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.