[PATCH] scsi: target: avoid strlen() in target_core_call_addhbatotarget()
Dmitry Antipov <[email protected]> Wed, 22 Jul 2026 09:35:23 +0300
| Newsgroups | org.kernel.vger.target-devel,org.kernel.vger.linux-scsi |
|---|---|
| Message-ID | <[email protected]> |
Since 'snprintf()' is capable to detect output truncation, an extra call to 'strlen()' in 'target_core_call_addhbatotarget()' may be dropped. Signed-off-by: Dmitry Antipov <[email protected]> --- drivers/target/target_core_configfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index 2b19a956007b..3214047031b8 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -3635,13 +3635,13 @@ static struct config_group *target_core_call_addhbatotarget( unsigned long plugin_dep_id = 0; int ret; - if (strlen(name) >= TARGET_CORE_NAME_MAX_LEN) { + ret = snprintf(buf, TARGET_CORE_NAME_MAX_LEN, "%s", name); + if (ret >= TARGET_CORE_NAME_MAX_LEN) { pr_err("Passed *name strlen(): %d exceeds" " TARGET_CORE_NAME_MAX_LEN: %d\n", (int)strlen(name), TARGET_CORE_NAME_MAX_LEN); return ERR_PTR(-ENAMETOOLONG); } - snprintf(buf, TARGET_CORE_NAME_MAX_LEN, "%s", name); str = strstr(buf, "_"); if (!str) { -- 2.55.0