Commit 7bbfacc1 authored by Sihang Chen's avatar Sihang Chen Committed by Herbert Xu
Browse files

crypto: hisilicon/qm - fix wrong release after using strsep



Save the string address before pass to strsep, release it at end.
Because strsep will update the string address to point after the
token.

Fixes: c31dc9fe("crypto: hisilicon/qm - add DebugFS for xQC and...")
Signed-off-by: default avatarSihang Chen <chensihang1@hisilicon.com>
Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
Reviewed-by: default avatarZhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent b1a5c9a6
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1420,17 +1420,18 @@ static int qm_dbg_help(struct hisi_qm *qm, char *s)
static int qm_cmd_write_dump(struct hisi_qm *qm, const char *cmd_buf)
{
	struct device *dev = &qm->pdev->dev;
	char *presult, *s;
	char *presult, *s, *s_tmp;
	int ret;

	s = kstrdup(cmd_buf, GFP_KERNEL);
	if (!s)
		return -ENOMEM;

	s_tmp = s;
	presult = strsep(&s, " ");
	if (!presult) {
		kfree(s);
		return -EINVAL;
		ret = -EINVAL;
		goto err_buffer_free;
	}

	if (!strcmp(presult, "sqc"))
@@ -1459,7 +1460,8 @@ static int qm_cmd_write_dump(struct hisi_qm *qm, const char *cmd_buf)
	if (ret)
		dev_info(dev, "Please echo help\n");

	kfree(s);
err_buffer_free:
	kfree(s_tmp);

	return ret;
}