diff options
Diffstat (limited to 'src/betab.c')
-rw-r--r-- | src/betab.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/betab.c b/src/betab.c index afec48a..2979f8b 100644 --- a/src/betab.c +++ b/src/betab.c @@ -79,7 +79,7 @@ struct backend_dfn { size_t vbeIPv6_len; u_long vbePort; - const struct VSC_point *vpt[VBE_MAX]; + struct VSC_point *vpt[VBE_MAX]; VTAILQ_ENTRY(backend_dfn) list; }; @@ -92,6 +92,9 @@ backend_clear(void) { while (!VTAILQ_EMPTY(&backends)) { struct backend_dfn *dfn = VTAILQ_FIRST(&backends); + int i; + for (i = 0; i < VBE_MAX; i++) + VSC_Destroy_Point(&dfn->vpt[i]); VTAILQ_REMOVE(&backends, dfn, list); free(dfn->vbeIdent); SNMP_FREE(dfn); @@ -124,7 +127,7 @@ backend_register(char const *name, size_t len, char const *param, } for (i = 0; betab_trans[i].param; i++) { if (strcmp(betab_trans[i].param, param) == 0) { - dfn->vpt[i] = vpt; + dfn->vpt[i] = VSC_Clone_Point(vpt); break; } } |