Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Feb 2017 15:45:51 +0000 (UTC)
From:      Ngie Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r313201 - stable/10/contrib/bsnmp/lib
Message-ID:  <201702041545.v14FjpRP048452@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Feb  4 15:45:51 2017
New Revision: 313201
URL: https://svnweb.freebsd.org/changeset/base/313201

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/10/contrib/bsnmp/lib/snmpclient.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/contrib/bsnmp/lib/snmpclient.c
==============================================================================
--- stable/10/contrib/bsnmp/lib/snmpclient.c	Sat Feb  4 15:45:39 2017	(r313200)
+++ stable/10/contrib/bsnmp/lib/snmpclient.c	Sat Feb  4 15:45:51 2017	(r313201)
@@ -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);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702041545.v14FjpRP048452>