Module Name:    src
Committed By:   christos
Date:           Sun Apr 14 13:18:23 UTC 2013

Modified Files:
        src/external/bsd/bind/dist/lib/isc/unix: socket.c

Log Message:
The common fields of the socket should be initialized in one place since
we are the socket provider. Fixes crash with "rndc status", where accepted
sockets did not have their method fields initialized!


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/bsd/bind/dist/lib/isc/unix/socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/bind/dist/lib/isc/unix/socket.c
diff -u src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.10 src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.11
--- src/external/bsd/bind/dist/lib/isc/unix/socket.c:1.10	Sun Mar 24 14:42:01 2013
+++ src/external/bsd/bind/dist/lib/isc/unix/socket.c	Sun Apr 14 09:18:23 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: socket.c,v 1.10 2013/03/24 18:42:01 christos Exp $	*/
+/*	$NetBSD: socket.c,v 1.11 2013/04/14 13:18:23 christos Exp $	*/
 
 /*
  * Copyright (C) 2004-2012  Internet Systems Consortium, Inc. ("ISC")
@@ -2149,6 +2149,7 @@ allocate_socket(isc__socketmgr_t *manage
 
 	sock->common.magic = ISCAPI_SOCKET_MAGIC;
 	sock->common.impmagic = SOCKET_MAGIC;
+	sock->common.methods = (isc_socketmethods_t *)&socketmethods;
 	*socketp = sock;
 
 	return (ISC_R_SUCCESS);
@@ -2600,7 +2601,6 @@ socket_create(isc_socketmgr_t *manager0,
 		return (result);
 	}
 
-	sock->common.methods = (isc_socketmethods_t *)&socketmethods;
 	sock->references = 1;
 	*socketp = (isc_socket_t *)sock;
 
@@ -2736,7 +2736,6 @@ isc__socket_fdwatchcreate(isc_socketmgr_
 	sock->fdwatchtask = task;
 	sock->statsindex = fdwatchstatsindex;
 
-	sock->common.methods = (isc_socketmethods_t *)&socketmethods;
 	sock->references = 1;
 	*socketp = (isc_socket_t *)sock;
 

Reply via email to