Skip to contentSkip to conversation

Staging: ced1401: fix a couple off by one checks

PATCH New Dan Carpenter 1 participant 1 message Sep 20, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Staging: ced1401: fix a couple off by one checks

nArea is used as an offset into the ->rTransDef[] array which has MAX_TRANSAREAS elements.

drivers/staging/ced1401/ced_ioc.c +2 -2
index 693c454..c9492ed 100644
@@ -837,7 +837,7 @@ int SetEvent(DEVICE_EXTENSION * pdx, TRANSFEREVENT __user * pTE)
 int WaitEvent(DEVICE_EXTENSION * pdx, int nArea, int msTimeOut)
 {
 	int iReturn;
-	if ((unsigned)nArea > MAX_TRANSAREAS)
+	if ((unsigned)nArea >= MAX_TRANSAREAS)
 		return U14ERR_BADAREA;
 	else {
 		int iWait;
@@ -884,7 +884,7 @@ int WaitEvent(DEVICE_EXTENSION * pdx, int nArea, int msTimeOut)
 int TestEvent(DEVICE_EXTENSION * pdx, int nArea)
 {
 	int iReturn;
-	if ((unsigned)nArea > MAX_TRANSAREAS)
+	if ((unsigned)nArea >= MAX_TRANSAREAS)
 		iReturn = U14ERR_BADAREA;
 	else {
 		TRANSAREA *pTA = &pdx->rTransDef[nArea];