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

Log:
  Set value->v.octetstring.len to a correct value on malloc success/failure
  
  The previous code always set value->v.octetstring.len to len, regardless
  of the result from the malloc call. This misleads the caller on malloc
  failure. Set .len to len on success and 0 on failure.
  
  MFC after:    1 week
  Reported by:  Coverity
  CID:          1007590

Modified:
  head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptc.c

Modified: head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptc.c
==============================================================================
--- head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptc.c  Sat Dec 31 12:06:27 
2016        (r310953)
+++ head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptc.c  Sat Dec 31 12:14:25 
2016        (r310954)
@@ -266,13 +266,13 @@ parse_octetstring(struct snmp_value *val
                return (-1);
        }
 
-       value->v.octetstring.len = len;
-
-       if((value->v.octetstring.octets = malloc(len)) == NULL) {
+       if ((value->v.octetstring.octets = malloc(len)) == NULL) {
+               value->v.octetstring.len = 0;
                syslog(LOG_ERR, "malloc failed: %s", strerror(errno));
                return (-1);
        }
 
+       value->v.octetstring.len = len;
        memcpy(value->v.octetstring.octets, val, len);
        value->syntax = SNMP_SYNTAX_OCTETSTRING;
 
_______________________________________________
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