From owner-svn-src-stable@freebsd.org  Sat Dec 31 00:00:13 2016
Return-Path: <owner-svn-src-stable@freebsd.org>
Delivered-To: svn-src-stable@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id CFA25C98A44;
 Sat, 31 Dec 2016 00:00:13 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 87F651B6A;
 Sat, 31 Dec 2016 00:00:13 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uBV00Cu3068220;
 Sat, 31 Dec 2016 00:00:12 GMT (envelope-from ngie@FreeBSD.org)
Received: (from ngie@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id uBV00CYc068219;
 Sat, 31 Dec 2016 00:00:12 GMT (envelope-from ngie@FreeBSD.org)
Message-Id: <201612310000.uBV00CYc068219@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: ngie set sender to
 ngie@FreeBSD.org using -f
From: Ngie Cooper <ngie@FreeBSD.org>
Date: Sat, 31 Dec 2016 00:00:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject: svn commit: r310877 - stable/11/contrib/bsnmp/snmpd
X-SVN-Group: stable-11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
 <svn-src-stable.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-stable>, 
 <mailto:svn-src-stable-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-stable/>
List-Post: <mailto:svn-src-stable@freebsd.org>
List-Help: <mailto:svn-src-stable-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-stable>,
 <mailto:svn-src-stable-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 31 Dec 2016 00:00:13 -0000

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

Log:
  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/11/contrib/bsnmp/snmpd/main.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/bsnmp/snmpd/main.c
==============================================================================
--- stable/11/contrib/bsnmp/snmpd/main.c	Fri Dec 30 23:59:43 2016	(r310876)
+++ stable/11/contrib/bsnmp/snmpd/main.c	Sat Dec 31 00:00:12 2016	(r310877)
@@ -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) {