aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2016-12-31 09:43:35 +0000
committerEnji Cooper <ngie@FreeBSD.org>2016-12-31 09:43:35 +0000
commitbcf525576438fe12dc2f561e30811b7579419a6c (patch)
tree1e2b1292d5ad9e9f82e5692d0e30a84f78f14b91 /usr.sbin
parent7c87f23e82a1801c4a48af9d439b59b0cac246eb (diff)
downloadsrc-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
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c5
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);
}