[PATCH] Staging: possible NULL dereference of {maxdata, range_table}_list in serial_2002_open()

Roel Kluin roel.kluin at gmail.com
Mon Aug 31 09:39:58 UTC 2009


allocation may fail, prevent a dereference of NULL.

Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
---
diff --git a/drivers/staging/comedi/drivers/serial2002.c b/drivers/staging/comedi/drivers/serial2002.c
index db18b11..e12f185 100644
--- a/drivers/staging/comedi/drivers/serial2002.c
+++ b/drivers/staging/comedi/drivers/serial2002.c
@@ -622,6 +622,8 @@ static void serial_2002_open(struct comedi_device *dev)
 				s->maxdata_list = maxdata_list =
 					kmalloc(sizeof(unsigned int) * s->n_chan,
 					GFP_KERNEL);
+				if (maxdata_list == NULL)
+					continue;
 				if (s->range_table_list) {
 					kfree(s->range_table_list);
 				}
@@ -631,6 +633,8 @@ static void serial_2002_open(struct comedi_device *dev)
 						kmalloc(sizeof
 						(struct serial2002_range_table_t) *
 						s->n_chan, GFP_KERNEL);
+					if (range_table_list == NULL)
+						continue;
 				}
 				for (chan = 0, j = 0; j < 32; j++) {
 					if (c[j].kind == kind) {



More information about the devel mailing list