From eab25e21bac9f860777c1b6628714ab8c2e65ae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martti=20Rannanj=C3=A4rvi?= Date: Wed, 29 Aug 2018 13:40:33 +0300 Subject: [PATCH] lib-dns: Set error_r in dns_client_connect() on failure --- src/lib-dns/dns-lookup.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib-dns/dns-lookup.c b/src/lib-dns/dns-lookup.c index 2c134a2727..7fcf970198 100644 --- a/src/lib-dns/dns-lookup.c +++ b/src/lib-dns/dns-lookup.c @@ -321,7 +321,7 @@ void dns_client_deinit(struct dns_client **_client) i_free(client); } -int dns_client_connect(struct dns_client *client, const char **error_r ATTR_UNUSED) +int dns_client_connect(struct dns_client *client, const char **error_r) { if (client->connected) return 0; @@ -329,7 +329,11 @@ int dns_client_connect(struct dns_client *client, const char **error_r ATTR_UNUS connection_init_client_unix(client->clist, &client->conn, client->path); if (client->ioloop != NULL) connection_switch_ioloop_to(&client->conn, client->ioloop); - return connection_client_connect(&client->conn); + int ret = connection_client_connect(&client->conn); + if (ret < 0) + *error_r = t_strdup_printf("Failed to connect to %s: %m", + client->path); + return ret; } static int