Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Dec 2016 00:01:22 +0000 (UTC)
From:      Ngie Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r310878 - stable/10/contrib/bsnmp/snmpd
Message-ID:  <201612310001.uBV01MTx069052@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Dec 31 00:01:21 2016
New Revision: 310878
URL: https://svnweb.freebsd.org/changeset/base/310878

Log:
  MFstable/11 r310877:
  
  MFC r310455:
  
  Clarify failure in snmp_output(..) with call to snmp_pdu_decode
  
  - Explicitly test snmp_pdu_encode against SNMP_CODE_OK instead of assuming
    any non-zero value is bad.
  - Print out the code before calling abort() to give the end-user something
    actionable to debug without having to recompile the binary, since the
    core might not have these details.

Modified:
  stable/10/contrib/bsnmp/snmpd/main.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/contrib/bsnmp/snmpd/main.c
==============================================================================
--- stable/10/contrib/bsnmp/snmpd/main.c	Sat Dec 31 00:00:12 2016	(r310877)
+++ stable/10/contrib/bsnmp/snmpd/main.c	Sat Dec 31 00:01:21 2016	(r310878)
@@ -282,12 +282,13 @@ snmp_output(struct snmp_pdu *pdu, u_char
     const char *dest)
 {
 	struct asn_buf resp_b;
+	enum snmp_code code;
 
 	resp_b.asn_ptr = sndbuf;
 	resp_b.asn_len = snmpd.txbuf;
 
-	if (snmp_pdu_encode(pdu, &resp_b) != 0) {
-		syslog(LOG_ERR, "cannot encode message");
+	if ((code = snmp_pdu_encode(pdu, &resp_b)) != SNMP_CODE_OK) {
+		syslog(LOG_ERR, "cannot encode message (code=%d)", code);
 		abort();
 	}
 	if (debug.dump_pdus) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612310001.uBV01MTx069052>