diff options
author | ngie <ngie@FreeBSD.org> | 2017-02-04 15:45:51 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2017-02-04 15:45:51 +0000 |
commit | 75f9b073cb56727e69db95f16adf961ad6435eda (patch) | |
tree | c9fe4dd4e001cbafe426952d41964adb51ecc131 | |
parent | f7d6527d5e63dcd04bc164ad624322cf8266f860 (diff) | |
download | FreeBSD-src-75f9b073cb56727e69db95f16adf961ad6435eda.zip FreeBSD-src-75f9b073cb56727e69db95f16adf961ad6435eda.tar.gz |
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
-rw-r--r-- | contrib/bsnmp/lib/snmpclient.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/bsnmp/lib/snmpclient.c b/contrib/bsnmp/lib/snmpclient.c index 80b85eb..10c58f5 100644 --- a/contrib/bsnmp/lib/snmpclient.c +++ b/contrib/bsnmp/lib/snmpclient.c @@ -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, struct timeval *tv) 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); } |