Message ID | 1603104323-4438-1-git-send-email-bodefang@126.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cifs : fix memory leak on error path | expand |
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 2f4cdd2..a1f584a 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -2703,9 +2703,10 @@ int smb311_posix_mkdir(const unsigned int xid, struct inode *inode, rc = smb2_plain_req_init(SMB2_CREATE, tcon, server, (void **) &req, &total_len); - if (rc) + if (rc) { + cifs_small_buf_release(req); return rc; - + } iov[0].iov_base = (char *)req; /* -1 since last byte is buf[0] which is sent below (path) */ iov[0].iov_len = total_len - 1;
In SMB2_open_init() , if smb2_plain_req_init() fails, then the memory assigned to req will be leaked. It's similar to SMB2_open() which is fixed by the commit <b7a73c84eb96> ("cifs: fix memory leak in SMB2_open()"). Signed-off-by: Defang Bo <bodefang@126.com> --- fs/cifs/smb2pdu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)