[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1322600880.1534.312.camel@localhost.localdomain>
Date: Tue, 29 Nov 2011 22:08:00 +0100
From: Thomas Meyer <thomas@...3r.de>
To: mchehab@...radead.org, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] [media] xc4000: Use kcalloc instead of kzalloc to allocate
array
The advantage of kcalloc is, that will prevent integer overflows which could
result from the multiplication of number of elements and size and it is also
a bit nicer to read.
The semantic patch that makes this change is available
in https://lkml.org/lkml/2011/11/25/107
Signed-off-by: Thomas Meyer <thomas@...3r.de>
---
diff -u -p a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c
--- a/drivers/media/common/tuners/tuner-xc2028.c 2011-11-13 11:07:28.453519914 +0100
+++ b/drivers/media/common/tuners/tuner-xc2028.c 2011-11-28 19:57:19.631625147 +0100
@@ -311,7 +311,7 @@ static int load_all_firmwares(struct dvb
n_array, fname, name,
priv->firm_version >> 8, priv->firm_version & 0xff);
- priv->firm = kzalloc(sizeof(*priv->firm) * n_array, GFP_KERNEL);
+ priv->firm = kcalloc(n_array, sizeof(*priv->firm), GFP_KERNEL);
if (priv->firm == NULL) {
tuner_err("Not enough memory to load firmware file.\n");
rc = -ENOMEM;
diff -u -p a/drivers/media/common/tuners/xc4000.c b/drivers/media/common/tuners/xc4000.c
--- a/drivers/media/common/tuners/xc4000.c 2011-11-13 11:07:28.460186686 +0100
+++ b/drivers/media/common/tuners/xc4000.c 2011-11-28 19:57:16.224893821 +0100
@@ -758,7 +758,7 @@ static int xc4000_fwupload(struct dvb_fr
n_array, fname, name,
priv->firm_version >> 8, priv->firm_version & 0xff);
- priv->firm = kzalloc(sizeof(*priv->firm) * n_array, GFP_KERNEL);
+ priv->firm = kcalloc(n_array, sizeof(*priv->firm), GFP_KERNEL);
if (priv->firm == NULL) {
printk(KERN_ERR "Not enough memory to load firmware file.\n");
rc = -ENOMEM;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists