Author: ngie
Date: Fri Dec 23 05:07:28 2016
New Revision: 310455
URL: https://svnweb.freebsd.org/changeset/base/310455

Log:
  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.
  
  MFC after:    1 week

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

Modified: head/contrib/bsnmp/snmpd/main.c
==============================================================================
--- head/contrib/bsnmp/snmpd/main.c     Fri Dec 23 05:02:17 2016        
(r310454)
+++ head/contrib/bsnmp/snmpd/main.c     Fri Dec 23 05:07:28 2016        
(r310455)
@@ -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) {
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to