From: Shraddha Barke Date: Fri, 4 Sep 2015 06:38:42 +0000 (+0530) Subject: Staging: lustre: obdclass: Use kasprintf instead of kzalloc and sprintf X-Git-Tag: firefly_0821_release~176^2~802^2~2150 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=222a7e9166b90f7cfd683a192cc757181b95a34f;p=firefly-linux-kernel-4.4.55.git Staging: lustre: obdclass: Use kasprintf instead of kzalloc and sprintf This patch uses kasprintf which combines kzalloc and sprintf. kasprintf also takes care of the size calculation. Semantic patch used is as follows: @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf (flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Shraddha Barke Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/obdclass/obd_config.c b/drivers/staging/lustre/lustre/obdclass/obd_config.c index d399cae2059e..7a5e87cec66e 100644 --- a/drivers/staging/lustre/lustre/obdclass/obd_config.c +++ b/drivers/staging/lustre/lustre/obdclass/obd_config.c @@ -1455,14 +1455,13 @@ int class_config_llog_handler(const struct lu_env *env, inst = 1; inst_len = LUSTRE_CFG_BUFLEN(lcfg, 0) + sizeof(clli->cfg_instance) * 2 + 4; - inst_name = kzalloc(inst_len, GFP_NOFS); + inst_name = kasprintf(GFP_NOFS, "%s-%p", + lustre_cfg_string(lcfg, 0), + clli->cfg_instance); if (!inst_name) { rc = -ENOMEM; goto out; } - sprintf(inst_name, "%s-%p", - lustre_cfg_string(lcfg, 0), - clli->cfg_instance); lustre_cfg_bufs_set_string(&bufs, 0, inst_name); CDEBUG(D_CONFIG, "cmd %x, instance name: %s\n", lcfg->lcfg_command, inst_name);