mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] SCSI: aacraid: potential integer overflow in aac_get_containers()
@ 2011-12-01  2:30 Haogang Chen
  2011-12-01 10:07 ` Achim Leubner
  2011-12-02 16:03 ` Mark Salyzyn
  0 siblings, 2 replies; 4+ messages in thread
From: Haogang Chen @ 2011-12-01  2:30 UTC (permalink / raw)
  To: aacraid; +Cc: JBottomley, linux-scsi, linux-kernel, haogangchen

There is a potential integer overflow in aac_get_containers(). When
maximum_num_containers is large, the subsequent call to kzalloc() will
allocate a buffer smaller than expected, which leads to memory
corruption in the for loop.

The patch replaces kzalloc with kcalloc.

Signed-off-by: Haogang Chen <haogangchen@gmail.com>
---
 drivers/scsi/aacraid/aachba.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 409f580..440b84d 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -381,7 +381,7 @@ int aac_get_containers(struct aac_dev *dev)
 
 	if (maximum_num_containers < MAXIMUM_NUM_CONTAINERS)
 		maximum_num_containers = MAXIMUM_NUM_CONTAINERS;
-	fsa_dev_ptr = kzalloc(sizeof(*fsa_dev_ptr) * maximum_num_containers,
+	fsa_dev_ptr = kcalloc(maximum_num_containers, sizeof(*fsa_dev_ptr), 
 			GFP_KERNEL);
 	if (!fsa_dev_ptr)
 		return -ENOMEM;
-- 
1.7.5.4


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-12-03 19:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-01  2:30 [PATCH] SCSI: aacraid: potential integer overflow in aac_get_containers() Haogang Chen
2011-12-01 10:07 ` Achim Leubner
2011-12-02 16:03 ` Mark Salyzyn
2011-12-03 19:30   ` Haogang Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®