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/video/stk-webcam.c b/drivers/media/video/stk-webcam.c
--- a/drivers/media/video/stk-webcam.c 2011-11-13 11:07:31.543568623 +0100
+++ b/drivers/media/video/stk-webcam.c 2011-11-28 19:58:06.822415120 +0100
@@ -377,8 +377,8 @@ static int stk_prepare_iso(struct stk_ca
        if (dev->isobufs)
                STK_ERROR("isobufs already allocated. Bad\n");
        else
-               dev->isobufs = kzalloc(MAX_ISO_BUFS * sizeof(*dev->isobufs),
-                                       GFP_KERNEL);
+               dev->isobufs = kcalloc(MAX_ISO_BUFS, sizeof(*dev->isobufs),
+                                      GFP_KERNEL);
        if (dev->isobufs == NULL) {
                STK_ERROR("Unable to allocate iso buffers\n");
                return -ENOMEM;
diff -u -p a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
--- a/drivers/media/video/v4l2-ctrls.c 2011-11-28 19:36:47.613437745 +0100
+++ b/drivers/media/video/v4l2-ctrls.c 2011-11-28 19:58:10.342457254 +0100
@@ -1108,8 +1108,8 @@ int v4l2_ctrl_handler_init(struct v4l2_c
        INIT_LIST_HEAD(&hdl->ctrls);
        INIT_LIST_HEAD(&hdl->ctrl_refs);
        hdl->nr_of_buckets = 1 + nr_of_controls_hint / 8;
-       hdl->buckets = kzalloc(sizeof(hdl->buckets[0]) * hdl->nr_of_buckets,
-                                                               GFP_KERNEL);
+       hdl->buckets = kcalloc(hdl->nr_of_buckets, sizeof(hdl->buckets[0]),
+                              GFP_KERNEL);
        hdl->error = hdl->buckets ? 0 : -ENOMEM;
        return hdl->error;
 }
--
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