Thread (214 messages) flat view 214 messages, 10 authors, 2021-07-26

Re: [PATCH v2 04/28] fsmonitor-ipc: create client routines for git-fsmonitor--daemon

From: Johannes Schindelin <hidden>
Date: 2021-06-02 11:25:12

Hi Jeff,

I know you're on vacation, therefore I would like to apologize for adding
to your post-vacation notification overload, but...

On Sat, 22 May 2021, Jeff Hostetler via GitGitGadget wrote:
quoted hunk ↗ jump to hunk
From: Jeff Hostetler <redacted>
diff --git a/fsmonitor-ipc.c b/fsmonitor-ipc.c
new file mode 100644
index 000000000000..e62901a85b5d
--- /dev/null
+++ b/fsmonitor-ipc.c
@@ -0,0 +1,179 @@
[...]
+
+int fsmonitor_ipc__send_query(const char *since_token,
+			      struct strbuf *answer)
+{
+	int ret = -1;
+	int tried_to_spawn = 0;
+	enum ipc_active_state state = IPC_STATE__OTHER_ERROR;
+	struct ipc_client_connection *connection = NULL;
+	struct ipc_client_connect_options options
+		= IPC_CLIENT_CONNECT_OPTIONS_INIT;
+
+	options.wait_if_busy = 1;
+	options.wait_if_not_found = 0;
+
+	trace2_region_enter("fsm_client", "query", NULL);
+
+	trace2_data_string("fsm_client", NULL, "query/command",
+			   since_token);
+
+try_again:
+	state = ipc_client_try_connect(fsmonitor_ipc__get_path(), &options,
+				       &connection);
+
+	switch (state) {
+	case IPC_STATE__LISTENING:
+		ret = ipc_client_send_command_to_connection(
+			connection, since_token, strlen(since_token), answer);
Here, `since_token` can be `NULL` (and hence the `strlen(since_token)` can
lead to a segmentation fault). I ran into this situation while `git rebase
-i --autostash` wanted to apply the stashed changes.

Since I picked up your v2 and included it in Git for Windows v2.32.0-rc2,
I needed this hotfix: https://github.com/git-for-windows/git/pull/3241

Thanks,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help