diff --git a/libnvme/src/nvme/fabrics.c b/libnvme/src/nvme/fabrics.c index 8ad16391f5..89cdbed9bc 100644 --- a/libnvme/src/nvme/fabrics.c +++ b/libnvme/src/nvme/fabrics.c @@ -2134,7 +2134,7 @@ static int _nvmf_discovery(struct nvme_global_ctx *ctx, nvme_ctrl_t cl; bool discover = false; bool disconnect; - nvme_ctrl_t child; + nvme_ctrl_t child = { 0 }; int tmo = fctx->cfg->keep_alive_tmo; struct fabric_args trcfg = { @@ -2588,6 +2588,8 @@ int nvmf_discovery_config_file(struct nvme_global_ctx *ctx, nvme_free_ctrl(c); } while (!err); + fctx->parser_cleanup(fctx, fctx->user_data); + if (err != -EOF) return err;