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++;
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to