--- a/dhcpcd.c +++ b/dhcpcd.c @@ -143,16 +143,18 @@ if (ctx->ifac) { for (ctx->ifac--; ctx->ifac >= 0; ctx->ifac--) free(ctx->ifav[ctx->ifac]); free(ctx->ifav); ctx->ifav = NULL; + ctx->ifac = 0; } if (ctx->ifdc) { for (ctx->ifdc--; ctx->ifdc >= 0; ctx->ifdc--) free(ctx->ifdv[ctx->ifdc]); free(ctx->ifdv); ctx->ifdv = NULL; + ctx->ifdc = 0; } #ifdef INET if (ctx->dhcp_opts) { for (opt = ctx->dhcp_opts;