From 5a13c711cdf2ace93f0c6388b05ead6375e57e82 Mon Sep 17 00:00:00 2001 From: ngie Date: Fri, 13 Jan 2017 09:01:09 +0000 Subject: [PATCH] MFC r311390: snmp_table_fetch_async: don't leak `work` if snmp_pdu_send(..) fails CID: 1017276 git-svn-id: svn://svn.freebsd.org/base/stable/10@312052 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- 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 90b7d4a96..80b85eb3f 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); } -- 2.45.0