From: Sihang Chen <chensiha...@hisilicon.com>

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: c31dc9fe165d("crypto: hisilicon/qm - add DebugFS for xQC and...")
Signed-off-by: Sihang Chen <chensiha...@huawei.com>
Signed-off-by: Shukun Tan <tanshuk...@huawei.com>
---
 drivers/crypto/hisilicon/qm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 9bb263c..ad0adcc 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -1429,16 +1429,17 @@ 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);
+               kfree(s_tmp);
                return -EINVAL;
        }
 
@@ -1468,7 +1469,7 @@ 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);
+       kfree(s_tmp);
 
        return ret;
 }
-- 
2.7.4

Reply via email to