diff --git a/lib/ftl/ftl_io.c b/lib/ftl/ftl_io.c index bfed8374c..4b952b04d 100644 --- a/lib/ftl/ftl_io.c +++ b/lib/ftl/ftl_io.c @@ -256,6 +256,10 @@ ftl_io_erase_init(struct ftl_band *band, size_t lbk_cnt, spdk_ftl_fn cb) }; io = ftl_io_init_internal(&opts); + if (!io) { + return NULL; + } + io->lbk_cnt = lbk_cnt; return io; diff --git a/lib/ftl/ftl_reloc.c b/lib/ftl/ftl_reloc.c index 412de3d9d..a38052eef 100644 --- a/lib/ftl/ftl_reloc.c +++ b/lib/ftl/ftl_reloc.c @@ -454,7 +454,13 @@ ftl_reloc_io_init(struct ftl_band_reloc *breloc, struct ftl_io *io, } io = ftl_io_init_internal(&opts); + if (!io) { + spdk_dma_free(opts.data); + return -1; + } + io->ppa = ppa; + return 0; }