scsi: target: iscsi: Switch to kmemdup_nul()
authorYang Yingliang <yangyingliang@huawei.com>
Fri, 2 Apr 2021 09:25:17 +0000 (17:25 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 10 May 2021 17:24:03 +0000 (13:24 -0400)
Use kmemdup_nul() helper instead of open-coding to simplify the code.

Link: https://lore.kernel.org/r/20210402092517.2445595-1-yangyingliang@huawei.com
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/iscsi/iscsi_target_nego.c
drivers/target/iscsi/iscsi_target_parameters.c

index 151e294..9a4a632 100644 (file)
@@ -1082,14 +1082,12 @@ int iscsi_target_locate_portal(
        login_req = (struct iscsi_login_req *) login->req;
        payload_length = ntoh24(login_req->dlength);
 
-       tmpbuf = kzalloc(payload_length + 1, GFP_KERNEL);
+       tmpbuf = kmemdup_nul(login->req_buf, payload_length, GFP_KERNEL);
        if (!tmpbuf) {
                pr_err("Unable to allocate memory for tmpbuf.\n");
                return -1;
        }
 
-       memcpy(tmpbuf, login->req_buf, payload_length);
-       tmpbuf[payload_length] = '\0';
        start = tmpbuf;
        end = (start + payload_length);
 
index 7a461fb..6bc3aaf 100644 (file)
@@ -1357,14 +1357,12 @@ int iscsi_decode_text_input(
        struct iscsi_param_list *param_list = conn->param_list;
        char *tmpbuf, *start = NULL, *end = NULL;
 
-       tmpbuf = kzalloc(length + 1, GFP_KERNEL);
+       tmpbuf = kmemdup_nul(textbuf, length, GFP_KERNEL);
        if (!tmpbuf) {
                pr_err("Unable to allocate %u + 1 bytes for tmpbuf.\n", length);
                return -ENOMEM;
        }
 
-       memcpy(tmpbuf, textbuf, length);
-       tmpbuf[length] = '\0';
        start = tmpbuf;
        end = (start + length);