提交 aa7253c2 编写于 作者: N Namjae Jeon 提交者: Steve French

ksmbd: fix memory leak in smb2_handle_negotiate

The allocated memory didn't free under an error
path in smb2_handle_negotiate().

Fixes: e2f34481 ("cifsd: add server-side procedures for SMB3")
Cc: stable@vger.kernel.org
Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-17815
Signed-off-by: NNamjae Jeon <linkinjeon@kernel.org>
Reviewed-by: NHyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: NSteve French <stfrench@microsoft.com>
上级 af7c39d9
...@@ -1142,12 +1142,16 @@ int smb2_handle_negotiate(struct ksmbd_work *work) ...@@ -1142,12 +1142,16 @@ int smb2_handle_negotiate(struct ksmbd_work *work)
status); status);
rsp->hdr.Status = status; rsp->hdr.Status = status;
rc = -EINVAL; rc = -EINVAL;
kfree(conn->preauth_info);
conn->preauth_info = NULL;
goto err_out; goto err_out;
} }
rc = init_smb3_11_server(conn); rc = init_smb3_11_server(conn);
if (rc < 0) { if (rc < 0) {
rsp->hdr.Status = STATUS_INVALID_PARAMETER; rsp->hdr.Status = STATUS_INVALID_PARAMETER;
kfree(conn->preauth_info);
conn->preauth_info = NULL;
goto err_out; goto err_out;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册