From 3daec7ae72b546b73d65fb24c00b4d8ee2701193 Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Thu, 5 Jan 2017 08:49:06 +0000 Subject: [PATCH] snmp_table_fetch_async: don't leak `work` if snmp_pdu_send(..) fails MFC after: 1 week Reported by: Coverity CID: 1017276 --- contrib/bsnmp/lib/snmpclient.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/bsnmp/lib/snmpclient.c b/contrib/bsnmp/lib/snmpclient.c index 8220824d050..2dc9eb8dc9f 100644 --- a/contrib/bsnmp/lib/snmpclient.c +++ b/contrib/bsnmp/lib/snmpclient.c @@ -728,8 +728,11 @@ snmp_table_fetch_async(const struct snmp_table *descr, void *list, work->last_change = 0; table_init_pdu(descr, &work->pdu); - if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) + if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) { + free(work); + work = NULL; return (-1); + } return (0); }