[PATCH] [media] v4l2-ctrls: 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/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 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