summaryrefslogtreecommitdiffstats
path: root/contrib/bsnmp
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-12-31 00:00:12 +0000
committerngie <ngie@FreeBSD.org>2016-12-31 00:00:12 +0000
commit6c427311b349e3a95ac0d9865138667a1d448677 (patch)
tree8e430cf1b18c44464c39d90defb139e80d9f82c3 /contrib/bsnmp
parente11be50095cebf28ba49ecaa2053a220eca598a2 (diff)
downloadFreeBSD-src-6c427311b349e3a95ac0d9865138667a1d448677.zip
FreeBSD-src-6c427311b349e3a95ac0d9865138667a1d448677.tar.gz
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.
Diffstat (limited to 'contrib/bsnmp')
-rw-r--r--contrib/bsnmp/snmpd/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/bsnmp/snmpd/main.c b/contrib/bsnmp/snmpd/main.c
index ea87127..cd9f0a5 100644
--- a/contrib/bsnmp/snmpd/main.c
+++ b/contrib/bsnmp/snmpd/main.c
@@ -282,12 +282,13 @@ snmp_output(struct snmp_pdu *pdu, u_char *sndbuf, size_t *sndlen,
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) {
OpenPOWER on IntegriCloud