$OpenBSD: patch-src_nsca_c,v 1.4 2011/11/12 00:49:49 sthen Exp $
--- src/nsca.c.orig	Tue Aug 31 13:47:57 2010
+++ src/nsca.c	Sat Nov 12 00:45:12 2011
@@ -28,7 +28,7 @@ char    *server_address=NULL;
 static int socket_timeout=DEFAULT_SOCKET_TIMEOUT;
 static int log_facility=LOG_DAEMON;
 
-static char config_file[MAX_INPUT_BUFFER]="nsca.cfg";
+static char config_file[MAX_INPUT_BUFFER]="%%SYSCONFDIR%%/nsca.cfg";
 static char alternate_dump_file[MAX_INPUT_BUFFER]="/dev/null";
 static char command_file[MAX_INPUT_BUFFER]="";
 static char password[MAX_INPUT_BUFFER]="";
@@ -381,8 +381,7 @@ static int read_config_file(char *filename){
 			server_port=strdup(varvalue);
 
 		else if(!strcmp(varname,"server_address")){
-                        strncpy(server_address,varvalue,sizeof(server_address) - 1);
-                        server_address[sizeof(server_address)-1]='\0';
+                        server_address=strdup(varvalue);
                         }
 		else if(strstr(input_buffer,"command_file")){
                         if(strlen(varvalue)>sizeof(command_file)-1){
@@ -778,8 +777,7 @@ static void wait_for_connections(void) {
 	addrinfo.ai_protocol=IPPROTO_TCP;
 
 	if(!server_address || !strlen(server_address)) {
-		server_address = NULL;
-		addrinfo.ai_flags=AI_PASSIVE;
+		server_address = strdup("0.0.0.0");
 		}
 	if (rval = getaddrinfo(server_address, server_port, &addrinfo, &res) != 0) {
 		syslog(LOG_ERR,"Invalid server_address (%d: %s)",errno,strerror(errno));
