[PATCH] staging/comedi: Fix undefined array subscript

Peter Huewe peterhuewe at gmx.de
Wed Feb 13 03:30:54 UTC 2013


In vmk80xx_do_insn_bits the local variable reg, which is used as an
index to the tx_buf array, can be used uninitialized if
- data[0] == 0
and
- devpriv->model != VMK8061_MODEL
-> we get into the else branch without having reg initialized.

Since the driver usually differentiates between VMK8061_MODEL and
VMK8055_MODEL it's safe to assume that VMK8055_DO_REG was meant as an
initial value.

Signed-off-by: Peter Huewe <peterhuewe at gmx.de>
---
 drivers/staging/comedi/drivers/vmk80xx.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
index ebf2d48..4ced56a 100644
--- a/drivers/staging/comedi/drivers/vmk80xx.c
+++ b/drivers/staging/comedi/drivers/vmk80xx.c
@@ -716,6 +716,7 @@ static int vmk80xx_do_insn_bits(struct comedi_device *dev,
 			retval = 2;
 		}
 	} else {
+		reg = VMK8055_DO_REG;
 		data[1] = tx_buf[reg];
 		retval = 2;
 	}
-- 
1.7.8.6




More information about the devel mailing list