summaryrefslogtreecommitdiff
path: root/src/openvpn/init.c
diff options
context:
space:
mode:
authorBernhard Schmidt <berni@debian.org>2020-09-30 21:10:50 +0200
committerBernhard Schmidt <berni@debian.org>2020-09-30 21:10:50 +0200
commit5246174f27866c0e9e22844d998f3c97cac54050 (patch)
tree7cdcbac7dfb50f319c053b2f35325c5dc368bdd8 /src/openvpn/init.c
parent57f0b7b331088e489e93ae89ee0aed98381d8806 (diff)
New upstream version 2.5~rc2upstream/2.5_rc2
Diffstat (limited to 'src/openvpn/init.c')
-rw-r--r--src/openvpn/init.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/openvpn/init.c b/src/openvpn/init.c
index a785934..d1ad5c8 100644
--- a/src/openvpn/init.c
+++ b/src/openvpn/init.c
@@ -500,6 +500,17 @@ next_connection_entry(struct context *c)
*/
if (!c->options.persist_remote_ip)
{
+ /* Connection entry addrinfo objects might have been
+ * resolved earlier but the entry itself might have been
+ * skipped by management on the previous loop.
+ * If so, clear the addrinfo objects as close_instance does
+ */
+ if (c->c1.link_socket_addr.remote_list)
+ {
+ clear_remote_addrlist(&c->c1.link_socket_addr,
+ !c->options.resolve_in_advance);
+ }
+
/* close_instance should have cleared the addrinfo objects */
ASSERT(c->c1.link_socket_addr.current_remote == NULL);
ASSERT(c->c1.link_socket_addr.remote_list == NULL);