cifsd: add the check if nvec is zero
authorNamjae Jeon <namjae.jeon@samsung.com>
Wed, 26 May 2021 06:31:37 +0000 (15:31 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Wed, 26 May 2021 09:12:33 +0000 (18:12 +0900)
Dan Carpenter pointed out that memory can be corrupted when nvec is zero.
This patch add the check to prevent it.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifsd/auth.c

index 7e56966..9f957c8 100644 (file)
@@ -1172,6 +1172,9 @@ static struct scatterlist *ksmbd_init_sg(struct kvec *iov, unsigned int nvec,
        unsigned int assoc_data_len = sizeof(struct smb2_transform_hdr) - 24;
        int i, nr_entries[3] = {0}, total_entries = 0, sg_idx = 0;
 
+       if (!nvec)
+               return NULL;
+
        for (i = 0; i < nvec - 1; i++) {
                unsigned long kaddr = (unsigned long)iov[i + 1].iov_base;