[PATCH] [media] xc4000: Use kcalloc instead of kzalloc to allocate array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx>
---

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-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux