diff -c -u -r1.1.1.2.2.2.2.1 res.c
--- src/res.c	11 Jun 2002 01:24:45 -0000	1.1.1.2.2.2.2.1
+++ src/res.c	18 Jun 2002 21:38:37 -0000
@@ -143,11 +143,17 @@
     
     if (op & RES_INITSOCK)
     {
-	int         on = 0;
+	int                on = 0;
+	struct sockaddr_in sa;
 	
 	ret = resfd = socket(AF_INET, SOCK_DGRAM, 0);
 	(void) setsockopt(ret, SOL_SOCKET, SO_BROADCAST,
 			  (char *) &on, sizeof(on));
+	bzero(&sa, sizeof(sa));
+	sa.sin_family = AF_INET;
+	sa.sin_port = 0;
+	sa.sin_addr.s_addr = INADDR_ANY;
+	(void) bind(resfd, (struct sockaddr *) &sa, sizeof(sa));
     }
 #ifdef DEBUG
     if (op & RES_INITDEBG);


patch -p0 < res.c.diff