diff options
author | Davidlohr Bueso A <dave@gnu.org> | 2009-08-07 16:42:21 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-08-22 18:52:22 -0400 |
commit | a2cf8a6306c89223d0ed35a7e9d40da99902e32a (patch) | |
tree | bac3fabe15b299cd7d056f6bd501229d663c70b2 /drivers/scsi/ch.c | |
parent | d68866927ddd0ed3145cb3fba4a1c07ca5e4709d (diff) |
[SCSI] ch: Check NULL for kmalloc() return
Verify that ch->dt is not NULL before using it.
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/ch.c')
-rw-r--r-- | drivers/scsi/ch.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c index 7b1633a8c15a..fe11c1d4b31d 100644 --- a/drivers/scsi/ch.c +++ b/drivers/scsi/ch.c | |||
@@ -353,6 +353,12 @@ ch_readconfig(scsi_changer *ch) | |||
353 | /* look up the devices of the data transfer elements */ | 353 | /* look up the devices of the data transfer elements */ |
354 | ch->dt = kmalloc(ch->counts[CHET_DT]*sizeof(struct scsi_device), | 354 | ch->dt = kmalloc(ch->counts[CHET_DT]*sizeof(struct scsi_device), |
355 | GFP_KERNEL); | 355 | GFP_KERNEL); |
356 | |||
357 | if (!ch->dt) { | ||
358 | kfree(buffer); | ||
359 | return -ENOMEM; | ||
360 | } | ||
361 | |||
356 | for (elem = 0; elem < ch->counts[CHET_DT]; elem++) { | 362 | for (elem = 0; elem < ch->counts[CHET_DT]; elem++) { |
357 | id = -1; | 363 | id = -1; |
358 | lun = 0; | 364 | lun = 0; |