OSDN Git Service

staging: comedi: addi_apci_1500: fix array access out of bounds error
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 28 Jan 2015 16:58:56 +0000 (09:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Feb 2015 09:02:13 +0000 (17:02 +0800)
commit76925260a8edba2b62b1639d651b0f3072e7c01b
tree5718cb7a50d25182fde1ffe4c0267c03098608c5
parentb5d78b7f816ecfdf274e7673e79ce165d3f052cb
staging: comedi: addi_apci_1500: fix array access out of bounds error

The private data 'pm', 'pt', and 'pp' array members hold the trigger mode
parameters for ports A and B. Both ports are 8-bits and the arrays are 16-bits.
Array index 0 defines the AND mode and index 1 the OR mode parameters for both
ports.

The valid triggers to start the async command are 0 to 3 which select the
AND/OR mode for each port.

The 'pb_trig' (the array index for port B) in apci1500_di_inttrig_start() is
incorrect and results in an index of 0 or 2. Fix the calc so that the correct
index (0/1) is used.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reported-by: Asaf Vertz <asaf.vertz@tandemg.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/addi_apci_1500.c