From: Ted Lemon Date: Thu, 9 Sep 1999 21:07:55 +0000 (+0000) Subject: - Set the SO_REUSEADDR flag when creating sockets. X-Git-Tag: V3-BETA-1-PATCH-2~5^2~103 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f11d5e1da3c5a5882509447b200ef4c716f7b3e;p=thirdparty%2Fdhcp.git - Set the SO_REUSEADDR flag when creating sockets. - Fix an uninitialized pointer bug. --- diff --git a/omapip/connection.c b/omapip/connection.c index 02828632a..0f7dd30e2 100644 --- a/omapip/connection.c +++ b/omapip/connection.c @@ -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