svn commit: r313200 - stable/11/contrib/bsnmp/lib

Ngie Cooper ngie at FreeBSD.org
Sat Feb 4 15:45:40 UTC 2017


Author: ngie
Date: Sat Feb  4 15:45:39 2017
New Revision: 313200
URL: https://svnweb.freebsd.org/changeset/base/313200

Log:
  MFC r311263:
  
  Use calloc instead of malloc with buffers in snmp_{recv,send}_packet
  
  This doesn't fix the issue noted in the PR, but at the very least it
  cleans up the error so it looks a bit more sane, and in the event
  that bsnmp did wander off into the weeds, the likelihood of it
  crashing with more sensible output is greater, in my opinion
  
  MFC counter set high so I have enough time to resolve the real
  underlying bug in bsnmpwalk
  
  PR:		215721

Modified:
  stable/11/contrib/bsnmp/lib/snmpclient.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/bsnmp/lib/snmpclient.c
==============================================================================
--- stable/11/contrib/bsnmp/lib/snmpclient.c	Sat Feb  4 15:44:49 2017	(r313199)
+++ stable/11/contrib/bsnmp/lib/snmpclient.c	Sat Feb  4 15:45:39 2017	(r313200)
@@ -1234,7 +1234,7 @@ snmp_send_packet(struct snmp_pdu * pdu)
 	struct asn_buf b;
 	ssize_t ret;
 
-	if ((buf = malloc(snmp_client.txbuflen)) == NULL) {
+	if ((buf = calloc(1, snmp_client.txbuflen)) == NULL) {
 		seterr(&snmp_client, "%s", strerror(errno));
 		return (-1);
 	}
@@ -1259,7 +1259,7 @@ snmp_send_packet(struct snmp_pdu * pdu)
 	}
 	free(buf);
 
-	return pdu->request_id;
+	return (pdu->request_id);
 }
 
 /*
@@ -1355,7 +1355,7 @@ snmp_receive_packet(struct snmp_pdu *pdu
 	socklen_t optlen;
 #endif
 
-	if ((buf = malloc(snmp_client.rxbuflen)) == NULL) {
+	if ((buf = calloc(1, snmp_client.rxbuflen)) == NULL) {
 		seterr(&snmp_client, "%s", strerror(errno));
 		return (-1);
 	}


More information about the svn-src-all mailing list