svn commit: r398816 - in head/net-mgmt/nagios-plugins: . files

Mathieu Arnold mat at FreeBSD.org
Thu Oct 8 12:14:38 UTC 2015


Author: mat
Date: Thu Oct  8 12:14:37 2015
New Revision: 398816
URL: https://svnweb.freebsd.org/changeset/ports/398816

Log:
  Fix a regression where plugins would segfault if the monitored tcp port
  is closed.
  
  PR:		203572
  Submitted by:	johan stromnet se
  Obtained from:	https://github.com/stromnet/nagios-plugins/commit/a18f60cc610c690cc0756bc258b8202a1541a067
  MFH:		2015Q4
  Sponsored by:	Absolight

Added:
  head/net-mgmt/nagios-plugins/files/patch-plugins_netutils.c   (contents, props changed)
Modified:
  head/net-mgmt/nagios-plugins/Makefile

Modified: head/net-mgmt/nagios-plugins/Makefile
==============================================================================
--- head/net-mgmt/nagios-plugins/Makefile	Thu Oct  8 12:11:08 2015	(r398815)
+++ head/net-mgmt/nagios-plugins/Makefile	Thu Oct  8 12:14:37 2015	(r398816)
@@ -3,7 +3,7 @@
 
 PORTNAME=	nagios-plugins
 PORTVERSION=	2.1.1
-PORTREVISION=	2
+PORTREVISION=	3
 PORTEPOCH=	1
 CATEGORIES=	net-mgmt
 MASTER_SITES=	https://www.nagios-plugins.org/download/ \

Added: head/net-mgmt/nagios-plugins/files/patch-plugins_netutils.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/nagios-plugins/files/patch-plugins_netutils.c	Thu Oct  8 12:14:37 2015	(r398816)
@@ -0,0 +1,44 @@
+--- plugins/netutils.c.orig	2015-07-30 21:40:06 UTC
++++ plugins/netutils.c
+@@ -158,7 +158,7 @@ int
+ np_net_connect (const char *host_name, int port, int *sd, int proto)
+ {
+ 	struct addrinfo hints;
+-	struct addrinfo *res;
++	struct addrinfo *res, *res0;
+ 	struct sockaddr_un su;
+ 	char port_str[6], host[MAX_HOST_ADDRESS_LENGTH];
+ 	size_t len;
+@@ -185,12 +185,13 @@ np_net_connect (const char *host_name, i
+ 		memcpy (host, host_name, len);
+ 		host[len] = '\0';
+ 		snprintf (port_str, sizeof (port_str), "%d", port);
+-		result = getaddrinfo (host, port_str, &hints, &res);
++		result = getaddrinfo (host, port_str, &hints, &res0);
+ 
+ 		if (result != 0) {
+ 			printf ("%s\n", gai_strerror (result));
+ 			return STATE_UNKNOWN;
+ 		}
++		res = res0;
+ 
+ 		while (res) {
+ 			/* attempt to create a socket */
+@@ -198,7 +199,7 @@ np_net_connect (const char *host_name, i
+ 
+ 			if (*sd < 0) {
+ 				printf ("%s\n", _("Socket creation failed"));
+-				freeaddrinfo (res);
++				freeaddrinfo (res0);
+ 				return STATE_UNKNOWN;
+ 			}
+ 
+@@ -221,7 +222,7 @@ np_net_connect (const char *host_name, i
+ 			close (*sd);
+ 			res = res->ai_next;
+ 		}
+-		freeaddrinfo (res);
++		freeaddrinfo (res0);
+ 	}
+ 	/* else the hostname is interpreted as a path to a unix socket */
+ 	else {


More information about the svn-ports-all mailing list