From 49d0baee65fcc8159e0c5bc7787c476c37cdf07d Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Thu, 16 Jan 2020 06:19:13 -0500 Subject: [PATCH] lib/ftl: Check snprintf() return code Change-Id: I711afcaabc079bc132cfdf2572683d0f0adff994 Signed-off-by: Wojciech Malikowski Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/481790 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Konrad Sztyber Community-CI: SPDK CI Jenkins --- lib/ftl/ftl_init.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ftl/ftl_init.c b/lib/ftl/ftl_init.c index 26ee98474..b16d1207e 100644 --- a/lib/ftl/ftl_init.c +++ b/lib/ftl/ftl_init.c @@ -955,8 +955,14 @@ ftl_io_channel_create_cb(void *io_device, void *ctx) struct spdk_ftl_dev *dev = io_device; struct ftl_io_channel *ioch = ctx; char mempool_name[32]; + int rc; + + rc = snprintf(mempool_name, sizeof(mempool_name), "ftl_io_%p", ioch); + if (rc < 0 || rc >= (int)sizeof(mempool_name)) { + SPDK_ERRLOG("Failed to create IO channel pool name\n"); + return -1; + } - snprintf(mempool_name, sizeof(mempool_name), "ftl_io_%p", ioch); ioch->cache_ioch = NULL; ioch->dev = dev; ioch->elem_size = sizeof(struct ftl_md_io);