svn commit: r310958 - head/contrib/bsnmp/snmpd

Ngie Cooper ngie at FreeBSD.org
Sat Dec 31 12:30:16 UTC 2016


Author: ngie
Date: Sat Dec 31 12:30:14 2016
New Revision: 310958
URL: https://svnweb.freebsd.org/changeset/base/310958

Log:
  Initialize ret to SNMPD_INPUT_OK at the top of snmp_input_start(..) to
  avoid returning an uninitialized value
  
  There are some really complicated, snakey if-statements combined with
  switch statements that could result in an invalid value being returned
  as `ret`
  
  MFC after:	1 week
  Reported by:	Coverity
  CID:		1006551

Modified:
  head/contrib/bsnmp/snmpd/main.c

Modified: head/contrib/bsnmp/snmpd/main.c
==============================================================================
--- head/contrib/bsnmp/snmpd/main.c	Sat Dec 31 12:18:17 2016	(r310957)
+++ head/contrib/bsnmp/snmpd/main.c	Sat Dec 31 12:30:14 2016	(r310958)
@@ -492,6 +492,8 @@ snmp_input_start(const u_char *buf, size
 	b.asn_cptr = buf;
 	b.asn_len = len;
 
+	ret = SNMPD_INPUT_OK;
+
 	/* look whether we have enough bytes for the entire PDU. */
 	switch (sret = snmp_pdu_snoop(&b)) {
 
@@ -520,8 +522,6 @@ snmp_input_start(const u_char *buf, size
 	}
 	code = snmp_pdu_decode_scoped(&b, pdu, ip);
 
-	ret = SNMPD_INPUT_OK;
-
 decoded:
 	snmpd_stats.inPkts++;
 


More information about the svn-src-head mailing list