host(1) coredumps

volker at vwsoft.com volker at vwsoft.com
Sun Sep 13 15:59:04 UTC 2009


On 09/13/09 06:27, Eugene Grosbein wrote:
> Hi!
> 
> For 8.0-BETA3:
> 
> % host -l grosbein.pp.ru. ns2.rucable.net.
> ; Transfer failed.
> /usr/local/src/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/socket.c:2486:
> REQUIRE((((sock) != ((void *)0)) && (((const isc__magic_t *)(sock))->magic
> == ((('I') << 24 | ('O') << 16 | ('i') << 8 | ('o')))))) failed.
> zsh: abort (core dumped)  host -l grosbein.pp.ru. ns2.rucable.net.
> 
> Shoud I send PR?
> 
> Eugene Grosbein

Eugene,

the attached patch works around the error for me. As this is contributed
code, it should be fixed upstream (no need to file a PR).

Volker

-------------- next part --------------
--- contrib/bind9/bin/dig/dighost.c.orig	2009-09-13 14:24:13.000000000 +0000
+++ contrib/bind9/bin/dig/dighost.c	2009-09-13 14:31:52.000000000 +0000
@@ -2604,11 +2604,13 @@
 
 	if (sevent->result == ISC_R_CANCELED) {
 		debug("in cancel handler");
-		isc_socket_detach(&query->sock);
-		sockcount--;
-		INSIST(sockcount >= 0);
-		debug("sockcount=%d", sockcount);
-		query->waiting_connect = ISC_FALSE;
+		if (query->sock != NULL) {
+			isc_socket_detach(&query->sock);
+			sockcount--;
+			INSIST(sockcount >= 0);
+			debug("sockcount=%d", sockcount);
+			query->waiting_connect = ISC_FALSE;
+		}
 		isc_event_free(&event);
 		l = query->lookup;
 		clear_query(query);


More information about the freebsd-net mailing list