| From: Ronnie Sahlberg <lsahlber@redhat.com> |
| Date: Tue, 13 Feb 2018 15:42:30 +1100 |
| Subject: cifs: fix memory leak in SMB2_open() |
| |
| commit b7a73c84eb96dabd6bb8e9d7c56f796d83efee8e upstream. |
| |
| Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> |
| Signed-off-by: Steve French <smfrench@gmail.com> |
| [bwh: Backported to 3.16: Only one of the failure paths exists here] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/cifs/smb2pdu.c | 8 ++++++-- |
| 1 file changed, 6 insertions(+), 2 deletions(-) |
| |
| --- a/fs/cifs/smb2pdu.c |
| +++ b/fs/cifs/smb2pdu.c |
| @@ -1176,8 +1176,10 @@ SMB2_open(const unsigned int xid, struct |
| copy_size += 8; |
| |
| copy_path = kzalloc(copy_size, GFP_KERNEL); |
| - if (!copy_path) |
| + if (!copy_path) { |
| + cifs_small_buf_release(req); |
| return -ENOMEM; |
| + } |
| memcpy((char *)copy_path, (const char *)path, |
| uni_path_len); |
| uni_path_len = copy_size; |