diff options
author | 2020-09-30 20:39:20 +0000 | |
---|---|---|
committer | 2020-09-30 20:39:20 +0000 | |
commit | df5397ceabfe70c02c1b323e2f00d3697134317d (patch) | |
tree | a3ce97061c3ea68b8bea7374312a811cb7ef1648 | |
parent | Fix two minor memory leaks. (diff) | |
download | wireguard-openbsd-df5397ceabfe70c02c1b323e2f00d3697134317d.tar.xz wireguard-openbsd-df5397ceabfe70c02c1b323e2f00d3697134317d.zip |
Sync with libagentx
-rw-r--r-- | usr.sbin/relayd/subagentx.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.sbin/relayd/subagentx.c b/usr.sbin/relayd/subagentx.c index ccb9684196b..ac2dccdb4d6 100644 --- a/usr.sbin/relayd/subagentx.c +++ b/usr.sbin/relayd/subagentx.c @@ -2686,7 +2686,9 @@ subagentx_get_free(struct subagentx_get *sag) sao = sav->sav_sao; index = &(sav->sav_index[j]); if (sao->sao_index[j]->sai_vb.avb_type == - AGENTX_DATA_TYPE_OCTETSTRING) + AGENTX_DATA_TYPE_OCTETSTRING || + sao->sao_index[j]->sai_vb.avb_type == + AGENTX_DATA_TYPE_IPADDRESS) free(index->sav_idata.avb_ostring.aos_string); } agentx_varbind_free(&(sag->sag_varbind[i].sav_vb)); @@ -3335,6 +3337,7 @@ subagentx_varbind_endofmibview(struct subagentx_varbind *sav) { struct subagentx_object *sao; struct agentx_varbind *vb; + struct subagentx_varbind_index *index; size_t i; #ifdef AGENTX_DEBUG @@ -3352,10 +3355,11 @@ subagentx_varbind_endofmibview(struct subagentx_varbind *sav) sizeof(sao->sao_oid)); sav->sav_include = 1; for (i = 0; i < sav->sav_indexlen; i++) { - vb = &(sav->sav_index[i].sav_sai->sai_vb); + index = &(sav->sav_index[i]); + vb = &(index->sav_sai->sai_vb); if (vb->avb_type == AGENTX_DATA_TYPE_OCTETSTRING || vb->avb_type == AGENTX_DATA_TYPE_IPADDRESS) - free(vb->avb_data.avb_ostring.aos_string); + free(index->sav_idata.avb_ostring.aos_string); } bzero(&(sav->sav_index), sizeof(sav->sav_index)); subagentx_object_unlock(sav->sav_sao); |