mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-29 05:17:57 +00:00
- Set the SO_REUSEADDR flag when creating sockets.
- Fix an uninitialized pointer bug.
This commit is contained in:
parent
8ec6b42644
commit
2f11d5e1da
@ -30,6 +30,7 @@ isc_result_t omapi_connect (omapi_object_t *c,
|
||||
int hix;
|
||||
isc_result_t status;
|
||||
omapi_connection_object_t *obj;
|
||||
int flag;
|
||||
|
||||
obj = (omapi_connection_object_t *)malloc (sizeof *obj);
|
||||
if (!obj)
|
||||
@ -89,6 +90,15 @@ isc_result_t omapi_connect (omapi_object_t *c,
|
||||
return ISC_R_NORESOURCES;
|
||||
return ISC_R_UNEXPECTED;
|
||||
}
|
||||
|
||||
/* Set the SO_REUSEADDR flag (this should not fail). */
|
||||
flag = 1;
|
||||
if (setsockopt (obj -> socket, SOL_SOCKET, SO_REUSEADDR,
|
||||
(char *)&flag, sizeof flag) < 0) {
|
||||
omapi_object_dereference ((omapi_object_t **)&obj,
|
||||
"omapi_connect");
|
||||
return ISC_R_UNEXPECTED;
|
||||
}
|
||||
|
||||
/* Try to connect to the one IP address we were given, or any of
|
||||
the IP addresses listed in the host's A RR. */
|
||||
@ -225,6 +235,7 @@ int omapi_connection_writefd (omapi_object_t *h)
|
||||
omapi_connection_object_t *c;
|
||||
if (h -> type != omapi_type_connection)
|
||||
return -1;
|
||||
c = (omapi_connection_object_t *)h;
|
||||
if (c -> out_bytes)
|
||||
return c -> socket;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user