mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
[ Upstream commit37188559c6
] Theoretically, it will cause index out of bounds error if 'num_bytes_read' is greater than 4. As we expect it(and was tested) never to be greater than 4, error out if it happens. Fixes:c1986ee9be
("[PATCH] New Omnikey Cardman 4000 driver") Signed-off-by: Yu Kuai <yukuai3@huawei.com> Link: https://lore.kernel.org/r/20210521120617.138396-1-yukuai3@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5a766253e3
commit
1e1b9cd400
@ -544,6 +544,10 @@ static int set_protocol(struct cm4000_dev *dev, struct ptsreq *ptsreq)
|
||||
io_read_num_rec_bytes(iobase, &num_bytes_read);
|
||||
if (num_bytes_read >= 4) {
|
||||
DEBUGP(2, dev, "NumRecBytes = %i\n", num_bytes_read);
|
||||
if (num_bytes_read > 4) {
|
||||
rc = -EIO;
|
||||
goto exit_setprotocol;
|
||||
}
|
||||
break;
|
||||
}
|
||||
usleep_range(10000, 11000);
|
||||
|
Loading…
Reference in New Issue
Block a user