diff mbox series

smb: client: compress: fix a potential issue of freeing an invalid pointer

Message ID 20240913000053.123052-1-qianqiang.liu@163.com (mailing list archive)
State New, archived
Headers show
Series smb: client: compress: fix a potential issue of freeing an invalid pointer | expand

Commit Message

Qianqiang Liu Sept. 13, 2024, midnight UTC
The dst pointer may not be initialized when calling kvfree(dst)

Fixes: 13b68d44990d9 ("smb: client: compress: LZ77 code improvements cleanup")
Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com>
---
 fs/smb/client/compress.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Steve French Sept. 13, 2024, 1:14 a.m. UTC | #1
Good catch.

Added to cifs-2.6.git for-next

On Thu, Sep 12, 2024 at 7:02 PM Qianqiang Liu <qianqiang.liu@163.com> wrote:
>
> The dst pointer may not be initialized when calling kvfree(dst)
>
> Fixes: 13b68d44990d9 ("smb: client: compress: LZ77 code improvements cleanup")
> Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com>
> ---
>  fs/smb/client/compress.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/smb/client/compress.c b/fs/smb/client/compress.c
> index 65d3d219e8bc..daf84e39861c 100644
> --- a/fs/smb/client/compress.c
> +++ b/fs/smb/client/compress.c
> @@ -318,7 +318,7 @@ int smb_compress(struct TCP_Server_Info *server, struct smb_rqst *rq, compress_s
>  {
>         struct iov_iter iter;
>         u32 slen, dlen;
> -       void *src, *dst;
> +       void *src, *dst = NULL;
>         int ret;
>
>         if (!server || !rq || !rq->rq_iov || !rq->rq_iov->iov_base)
> --
> 2.34.1
>
>
diff mbox series

Patch

diff --git a/fs/smb/client/compress.c b/fs/smb/client/compress.c
index 65d3d219e8bc..daf84e39861c 100644
--- a/fs/smb/client/compress.c
+++ b/fs/smb/client/compress.c
@@ -318,7 +318,7 @@  int smb_compress(struct TCP_Server_Info *server, struct smb_rqst *rq, compress_s
 {
 	struct iov_iter iter;
 	u32 slen, dlen;
-	void *src, *dst;
+	void *src, *dst = NULL;
 	int ret;
 
 	if (!server || !rq || !rq->rq_iov || !rq->rq_iov->iov_base)