]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: ipc-client - Fix crash on connect failure
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 31 Jan 2019 12:07:19 +0000 (14:07 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 31 Jan 2019 14:12:21 +0000 (16:12 +0200)
Broken by b7ecba9d6d358569d367620f95e3817da99e0036, which relied on v2.3
behavior for timeout_remove().

src/lib-master/ipc-client.c

index 1ec89d44be861d9dff42435d49bb807a4aced806..6db4d990b87f744d81ba45304bee9775adc6329a 100644 (file)
@@ -128,7 +128,8 @@ static void ipc_client_abort_commands(struct ipc_client *client,
 
 static void ipc_client_disconnect(struct ipc_client *client)
 {
-       timeout_remove(&client->to_failed);
+       if (client->to_failed != NULL)
+               timeout_remove(&client->to_failed);
        ipc_client_abort_commands(client, "Disconnected");
 
        if (client->fd == -1)
@@ -167,7 +168,8 @@ void ipc_client_deinit(struct ipc_client **_client)
 static void ipc_client_cmd_connect_failed(struct ipc_client *client)
 {
        ipc_client_abort_commands(client, "ipc connect failed");
-       timeout_remove(&client->to_failed);
+       if (client->to_failed != NULL)
+               timeout_remove(&client->to_failed);
 }
 
 struct ipc_client_cmd *