patch-2.4.6 linux/drivers/block/cciss.c

Next file: linux/drivers/block/ll_rw_blk.c
Previous file: linux/drivers/atm/zatm.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.5/linux/drivers/block/cciss.c linux/drivers/block/cciss.c
@@ -63,6 +63,7 @@
                         0x0E11, 0x4080, 0, 0, 0},
 	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_CISSB,
                         0x0E11, 0x4082, 0, 0, 0},
+	{0,}
 };
 MODULE_DEVICE_TABLE(pci, cciss_pci_device_id);
 
@@ -610,7 +611,10 @@
 		{
 			/* Copy the data into the buffer we created */ 
 			if (copy_from_user(buff, iocommand.buf, iocommand.buf_size))
+			{
+				kfree(buff);
 				return -EFAULT;
+			}
 		}
 		if ((c = cmd_alloc(h , 0)) == NULL)
 		{
@@ -680,6 +684,7 @@
 			{
                         	kfree(buff);
 				cmd_free(h, c, 0);
+				return -EFAULT;
 			}
                 }
                 kfree(buff);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)