diff options
author | Enji Cooper <ngie@FreeBSD.org> | 2016-12-31 09:43:35 +0000 |
---|---|---|
committer | Enji Cooper <ngie@FreeBSD.org> | 2016-12-31 09:43:35 +0000 |
commit | bcf525576438fe12dc2f561e30811b7579419a6c (patch) | |
tree | 1e2b1292d5ad9e9f82e5692d0e30a84f78f14b91 | |
parent | 7c87f23e82a1801c4a48af9d439b59b0cac246eb (diff) | |
download | src-bcf525576438fe12dc2f561e30811b7579419a6c.tar.gz src-bcf525576438fe12dc2f561e30811b7579419a6c.zip |
Don't call snmp_pdu_free(..) until finished with the pdu and when ready to
allocate a new one via snmp_pdu_create(..)
This fixes bsnmpwalk, so it no longer crashes after r310729
X-MFC with: r310729
MFC after: 12 days
Notes
Notes:
svn path=/head/; revision=310892
-rw-r--r-- | usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c index d76dd688272f..9b3475fb38f9 100644 --- a/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c +++ b/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c @@ -498,7 +498,6 @@ snmptool_walk(struct snmp_toolinfo *snmptoolctx) } outputs += rc; - snmp_pdu_free(&resp); if ((u_int)rc < resp.nbindings) break; @@ -518,8 +517,6 @@ snmptool_walk(struct snmp_toolinfo *snmptoolctx) snmp_output_err_resp(snmptoolctx, &resp); else snmp_output_resp(snmptoolctx, &(resp), NULL); - - snmp_pdu_free(&resp); } else warn("Snmp dialog"); } @@ -529,6 +526,8 @@ snmptool_walk(struct snmp_toolinfo *snmptoolctx) break; } + snmp_pdu_free(&resp); + snmp_pdu_create(&req, op); } |