forked from Minki/linux
CIFS: Fix possible buffer corruption in cifs_user_read()
If there was a short read in the middle of the rdata list, we can end up with a corrupt output buffer. Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:
parent
b3160aebb4
commit
2e8a05d802
@ -3049,7 +3049,9 @@ again:
|
||||
} else {
|
||||
rc = cifs_readdata_to_iov(rdata, to);
|
||||
}
|
||||
|
||||
/* if there was a short read -- discard anything left */
|
||||
if (rdata->got_bytes && rdata->got_bytes < rdata->bytes)
|
||||
rc = -ENODATA;
|
||||
}
|
||||
list_del_init(&rdata->list);
|
||||
kref_put(&rdata->refcount, cifs_uncached_readdata_release);
|
||||
|
Loading…
Reference in New Issue
Block a user