diff mbox

[2/2] cifs: fix leak in FSCTL_ENUM_SNAPS response handling

Message ID 20170503153909.5783-3-ddiss@suse.de (mailing list archive)
State New, archived
Headers show

Commit Message

David Disseldorp May 3, 2017, 3:39 p.m. UTC
The server may respond with success, and an output buffer less than
sizeof(struct smb_snapshot_array) in length. Do not leak the output
buffer in this case.

Fixes: 834170c85978 ("Enable previous version support")
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
 fs/cifs/smb2ops.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 152e37f2ad92..c58691834eb2 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -942,6 +942,7 @@  smb3_enum_snapshots(const unsigned int xid, struct cifs_tcon *tcon,
 		}
 		if (snapshot_in.snapshot_array_size < sizeof(struct smb_snapshot_array)) {
 			rc = -ERANGE;
+			kfree(retbuf);
 			return rc;
 		}