svn commit: r310954 - head/usr.sbin/bsnmpd/tools/libbsnmptools

Ngie Cooper ngie at FreeBSD.org
Sat Dec 31 12:14:26 UTC 2016


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;
 


More information about the svn-src-head mailing list