[sr-dev] git:master:0b7b291a: snmpstats: init sigaction var and close fd in case of errors

Daniel-Constantin Mierla miconda at gmail.com
Wed Dec 27 09:19:42 CET 2017


Module: kamailio
Branch: master
Commit: 0b7b291ab153472c7d371c29e0c4dfa20c492f08
URL: https://github.com/kamailio/kamailio/commit/0b7b291ab153472c7d371c29e0c4dfa20c492f08

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2017-12-27T09:08:08+01:00

snmpstats: init sigaction var and close fd in case of errors

---

Modified: src/modules/snmpstats/snmpstats.c
Modified: src/modules/snmpstats/sub_agent.c

---

Diff:  https://github.com/kamailio/kamailio/commit/0b7b291ab153472c7d371c29e0c4dfa20c492f08.diff
Patch: https://github.com/kamailio/kamailio/commit/0b7b291ab153472c7d371c29e0c4dfa20c492f08.patch

---

diff --git a/src/modules/snmpstats/snmpstats.c b/src/modules/snmpstats/snmpstats.c
index b2224ba47e..4bd11c98d2 100644
--- a/src/modules/snmpstats/snmpstats.c
+++ b/src/modules/snmpstats/snmpstats.c
@@ -539,6 +539,7 @@ static int spawn_sysUpTime_child(void)
 		LM_ERR("Ran out of memory while trying to retrieve sysUpTime.  ");
 		LM_ERR("                  kamailioSIPServiceStartTime is "
 			   "defaulting to zero\n");
+		close(snmpget_fd);
 		return -1;
 	} else {
 		/* Make a new string containing the full path to the binary. */
@@ -559,6 +560,7 @@ static int spawn_sysUpTime_child(void)
 
 	/* We should never be able to get here, because execve() is never
 	 * supposed to return. */
+	close(snmpget_fd);
 	free(full_path_to_snmpget);
 	exit(-1);
 }
@@ -587,4 +589,4 @@ int set_snmp_community(modparam_t type, void *val)
 	snmp_community = (char *)val;
 
 	return 0;
-}
\ No newline at end of file
+}
diff --git a/src/modules/snmpstats/sub_agent.c b/src/modules/snmpstats/sub_agent.c
index fc938d0f2c..330a86128e 100644
--- a/src/modules/snmpstats/sub_agent.c
+++ b/src/modules/snmpstats/sub_agent.c
@@ -167,6 +167,7 @@ void agentx_child(int rank)
 	 * need to be fatal however, because we can re-establish our
 	 * connection.  Therefore we set ourselves up to ignore the
 	 * SIGPIPE. */
+	sigemptyset(&sigpipe_handler.sa_mask);
 	sigpipe_handler.sa_flags = SA_RESTART;
 	sigpipe_handler.sa_handler = SIG_IGN;
 
@@ -194,4 +195,4 @@ void register_with_master_agent(char *name_to_register_under)
 	/* Use a name we can register our agent under. */
 	init_snmp(name_to_register_under);
 	LM_DBG("** Connected to SNMPD MasterX\n");
-}
\ No newline at end of file
+}




More information about the sr-dev mailing list