--- autofs-4.1.3-devel/lib/rpc_subs.c~	2004-08-04 13:20:30.000000000 -0400
+++ autofs-4.1.3-devel/lib/rpc_subs.c	2004-08-18 13:37:14.123571936 -0400
@@ -34,6 +34,7 @@
 
 struct conn_info {
 	const char *host;
+	int fd;
 	unsigned short port;
 	unsigned long program;
 	unsigned long version;
@@ -48,7 +49,6 @@ struct conn_info {
  */
 static CLIENT* create_udp_client(struct conn_info *info)
 {
-	int fd = -1;
 	CLIENT *client;
 	struct sockaddr_in addr;
 	struct hostent *hp;
@@ -62,13 +62,14 @@ static CLIENT* create_udp_client(struct 
 	if (!hp)
 		return NULL;
 
+	info->fd = RPC_ANYSOCK;
 	addr.sin_family = AF_INET;
 	addr.sin_port = htons(info->port);
 	memcpy(&addr.sin_addr.s_addr, hp->h_addr, hp->h_length);
 
 	client = clntudp_bufcreate(&addr,
 				   info->program, info->version,
-				   info->timeout, &fd,
+				   info->timeout, &info->fd,
 				   info->send_sz, info->recv_sz);
 
 	return client;
@@ -169,6 +170,7 @@ static CLIENT* create_tcp_client(struct 
 	if (!client)
 		goto out_close;
 
+	info->fd = fd;
 	return client;
 
 out_close:
@@ -214,6 +216,7 @@ static unsigned short portmap_getport(st
 			 pmap_info.timeout);
 
 	clnt_destroy(client);
+	close(pmap_info.fd);
 
 	if (stat != RPC_SUCCESS)
 		return 0;
