threads / patch / 21370

patchPrevent git-remote-cvs from segfaulting

Subject: [PATCH] Prevent git-remote-cvs from segfaulting

## tl;dr

One message between Oct 27, 2009 and Oct 27, 2009. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Sverre Rabbelier· Oct 27, 2009, 01:43 UTC · lore

In [0] Shawn identified what caused git-remote-cvs from segfaulting, which should be fixed as desribed in Daniel's reply to that [1]. In the meanwhile, the current patch fixes the issue until Daniel submits a patch to fix it properly.

[0] http://thread.gmane.org/gmane.comp.version-control.git/130357/focus=130421 [1] http://thread.gmane.org/gmane.comp.version-control.git/130357/focus=131021

Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
Not-Signed-off-by: Jeff King <peff@peff.net>
---
	Jeff wrote this total hack but wants no credit, responsibility or
	anything else to do with it whatsoever.
	I think it might be nice to have this on top of pu until Daniel
	submits a proper patch, so that until that time the test suite
	does not segfault.
 transport-helper.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
Show changes to transport-helper.c +3 −0
diff --git a/transport-helper.c b/transport-helper.c
index 410aa49..d867abb 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -68,6 +68,8 @@ static struct child_process *get_helper(struct transport *transport)
 static int disconnect_helper(struct transport *transport)
 {
 	struct helper_data *data = transport->data;
+	if(!data)
+		return 0;
 	if (data->helper) {
 		write_str_in_full(data->helper->in, "\n");
 		close(data->helper->in);
@@ -78,6 +80,7 @@ static int disconnect_helper(struct transport *transport)
 		free(data->helper);
 		data->helper = NULL;
 	}
+	transport->data = NULL;
 	free(data);
 	return 0;
 }
-- 
1.6.5.1.125.g76b2.dirty

← back to recent threads