From cb80aa11a7bea079cc4a0ee7700ad6358e6edd71 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 2 Apr 2009 14:25:27 -0400 Subject: [PATCH] imap/pop3-login: Don't crash when shutting down and destroying clients. --HG-- branch : HEAD --- src/imap-login/client.c | 5 +++-- src/pop3-login/client.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/imap-login/client.c b/src/imap-login/client.c index 3e8a1e8adc..6e96f98271 100644 --- a/src/imap-login/client.c +++ b/src/imap-login/client.c @@ -687,11 +687,12 @@ void clients_notify_auth_connected(void) void clients_destroy_all(void) { - struct client *client; + struct client *client, *next; - for (client = clients; client != NULL; client = client->next) { + for (client = clients; client != NULL; client = next) { struct imap_client *imap_client = (struct imap_client *)client; + next = client->next; client_destroy(imap_client, "Disconnected: Shutting down"); } } diff --git a/src/pop3-login/client.c b/src/pop3-login/client.c index 076e9bc465..7c049586b1 100644 --- a/src/pop3-login/client.c +++ b/src/pop3-login/client.c @@ -479,11 +479,12 @@ void clients_notify_auth_connected(void) void clients_destroy_all(void) { - struct client *client; + struct client *client, *next; - for (client = clients; client != NULL; client = client->next) { + for (client = clients; client != NULL; client = next) { struct pop3_client *pop3_client = (struct pop3_client *)client; + next = client->next; client_destroy(pop3_client, "Disconnected: Shutting down"); } } -- 2.47.3