[PATCH] wnaspi32: Fix controller number validation; since indices start with 0, only controllers with index strictly lesser than number returned by ASPI_GetNumControllers() are valid.

Rok Mandeljc rok.mandeljc at email.si
Thu Nov 1 02:09:33 CDT 2007


---
 dlls/wnaspi32/winaspi32.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/wnaspi32/winaspi32.c b/dlls/wnaspi32/winaspi32.c
index 8c76878..438b2a1 100644
--- a/dlls/wnaspi32/winaspi32.c
+++ b/dlls/wnaspi32/winaspi32.c
@@ -109,7 +109,7 @@ ASPI_OpenDevice(SRB_ExecSCSICmd *prb)
     }
     LeaveCriticalSection(&ASPI_CritSection);
 
-    if (prb->SRB_HaId > ASPI_GetNumControllers())
+    if (prb->SRB_HaId >= ASPI_GetNumControllers())
 	return -1;
 
     hc = ASPI_GetHCforController( prb->SRB_HaId );
@@ -314,8 +314,8 @@ ASPI_ExecScsiCmd(SRB_ExecSCSICmd *lpPRB)
   DWORD SRB_Status;
 
   num_controllers = ASPI_GetNumControllers();
-  if (lpPRB->SRB_HaId > num_controllers) {
-      WARN("Failed: Wanted hostadapter %d, but we have only %d.\n",
+  if (lpPRB->SRB_HaId >= num_controllers) {
+      WARN("Failed: Wanted hostadapter with index %d, but we have only %d.\n",
 	  lpPRB->SRB_HaId, num_controllers
       );
       return WNASPI32_DoPosting( lpPRB, SS_INVALID_HA );
-- 
1.5.3.3


--------------060907090600030206090009--



More information about the wine-patches mailing list