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

Reply via email to