[ros-diffs] [cwittich] 27473: -avoid dereferencing of NULL pointers

cwittich at svn.reactos.org cwittich at svn.reactos.org
Sun Jul 8 15:38:08 CEST 2007


Author: cwittich
Date: Sun Jul  8 17:38:08 2007
New Revision: 27473

URL: http://svn.reactos.org/svn/reactos?rev=27473&view=rev
Log:
-avoid dereferencing of NULL pointers

Modified:
    trunk/reactos/drivers/storage/scsiport/scsiport.c

Modified: trunk/reactos/drivers/storage/scsiport/scsiport.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/scsiport/scsiport.c?rev=27473&r1=27472&r2=27473&view=diff
==============================================================================
--- trunk/reactos/drivers/storage/scsiport/scsiport.c (original)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.c Sun Jul  8 17:38:08 2007
@@ -3087,6 +3087,9 @@
     /* Build the actual SG list */
     while (TotalLength < Srb->DataTransferLength)
     {
+        if (!ScatterGatherList)
+            break;
+
         ScatterGatherList->Length = Srb->DataTransferLength - TotalLength;
         ScatterGatherList->PhysicalAddress = IoMapTransfer(DeviceExtension->AdapterObject,
                                                            Irp->MdlAddress,
@@ -3649,7 +3652,7 @@
             /* Scan all logical units */
             for (Lun = 0; Lun < SCSI_MAXIMUM_LOGICAL_UNITS; Lun++)
             {
-                if (!LunExtension)
+                if ((!LunExtension) || (!LunInfo))
                     break;
 
                 /* Add extension to the list */
@@ -3934,6 +3937,12 @@
                            TRUE,
                            TRUE,
                            TRUE);
+
+    if (!Srb)
+    {
+        DPRINT("SpiSendRequestSense() failed, Srb %p\n", Srb);
+        return;
+    }
 
     IrpStack = IoGetNextIrpStackLocation(Irp);
     IrpStack->MajorFunction = IRP_MJ_SCSI;




More information about the Ros-diffs mailing list