svn commit: r311263 - head/contrib/bsnmp/lib
    Ngie Cooper 
    ngie at FreeBSD.org
       
    Wed Jan  4 07:53:02 UTC 2017
    
    
  
Author: ngie
Date: Wed Jan  4 07:53:01 2017
New Revision: 311263
URL: https://svnweb.freebsd.org/changeset/base/311263
Log:
  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
  
  MFC after:	1 month
  PR:		215721
Modified:
  head/contrib/bsnmp/lib/snmpclient.c
Modified: head/contrib/bsnmp/lib/snmpclient.c
==============================================================================
--- head/contrib/bsnmp/lib/snmpclient.c	Wed Jan  4 07:49:29 2017	(r311262)
+++ head/contrib/bsnmp/lib/snmpclient.c	Wed Jan  4 07:53:01 2017	(r311263)
@@ -1231,7 +1231,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);
 	}
@@ -1256,7 +1256,7 @@ snmp_send_packet(struct snmp_pdu * pdu)
 	}
 	free(buf);
 
-	return pdu->request_id;
+	return (pdu->request_id);
 }
 
 /*
@@ -1352,7 +1352,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-head
mailing list