summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RELNOTES6
-rw-r--r--omapip/connection.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/RELNOTES b/RELNOTES
index c11458f4..5c53a214 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -121,6 +121,12 @@ by Eric Young (eay@cryptsoft.com).
in line with the call it will make to malloc().
[ISC-Bugs #40843]
+- If the failover socket can't be bound close it, otherwise if the
+ user configures an incorrect address in the failover stanza the
+ server will continue to open new sockets every 90 seconds until
+ it runs out.
+ [ISC-Bugs #42452]
+
Changes since 4.3.4b1
- None
diff --git a/omapip/connection.c b/omapip/connection.c
index 58b08c69..abc1ac68 100644
--- a/omapip/connection.c
+++ b/omapip/connection.c
@@ -150,6 +150,7 @@ isc_result_t omapi_connect_list (omapi_object_t *c,
if (local_addr) {
/* Only do TCPv4 so far. */
if (local_addr -> addrtype != AF_INET) {
+ close(obj->socket);
omapi_connection_dereference (&obj, MDL);
return DHCP_R_INVALIDARG;
}
@@ -168,6 +169,7 @@ isc_result_t omapi_connect_list (omapi_object_t *c,
sizeof local_sin) < 0) {
omapi_connection_object_t **objp = &obj;
omapi_object_t **o = (omapi_object_t **)objp;
+ close(obj->socket);
omapi_object_dereference(o, MDL);
if (errno == EADDRINUSE)
return ISC_R_ADDRINUSE;