Check integer overflow in do_insnlist_ioctl()
authorIan Abbott <abbotti@mev.co.uk>
Mon, 7 Nov 2011 10:20:23 +0000 (10:20 +0000)
committerIan Abbott <abbotti@mev.co.uk>
Mon, 7 Nov 2011 10:20:23 +0000 (10:20 +0000)
commit5c7eb2c3c8b0abaea8c6fd8b3d368ff0985da004
treec9d7a9e0efcf431980ccd6d1ecf736fe46ddaacd
parent549d8aed98c2de6326e6594a8cd020a84ff45726
Check integer overflow in do_insnlist_ioctl()

Follow patch to "staging" comedi kernel sources by Dan Carpenter.

There is an integer overflow here that could cause memory corruption
on 32 bit systems.

insnlist.n_insns could be a very high value size calculation for
kmalloc() could overflow resulting in a smaller "insns" than
expected.  In the for (i = 0; i < insnlist.n_insns; i++) {... loop
we would read past the end of the buffer, possibly corrupting memory
as well.
comedi/comedi_fops.c