浏览代码

[media] v4l2-ctrls: 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@m3y3r.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Thomas Meyer 13 年之前
父节点
当前提交
9884d7bea7
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 2 2
      drivers/media/video/stk-webcam.c
  2. 2 2
      drivers/media/video/v4l2-ctrls.c

+ 2 - 2
drivers/media/video/stk-webcam.c

@@ -377,8 +377,8 @@ static int stk_prepare_iso(struct stk_camera *dev)
 	if (dev->isobufs)
 	if (dev->isobufs)
 		STK_ERROR("isobufs already allocated. Bad\n");
 		STK_ERROR("isobufs already allocated. Bad\n");
 	else
 	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) {
 	if (dev->isobufs == NULL) {
 		STK_ERROR("Unable to allocate iso buffers\n");
 		STK_ERROR("Unable to allocate iso buffers\n");
 		return -ENOMEM;
 		return -ENOMEM;

+ 2 - 2
drivers/media/video/v4l2-ctrls.c

@@ -1109,8 +1109,8 @@ int v4l2_ctrl_handler_init(struct v4l2_ctrl_handler *hdl,
 	INIT_LIST_HEAD(&hdl->ctrls);
 	INIT_LIST_HEAD(&hdl->ctrls);
 	INIT_LIST_HEAD(&hdl->ctrl_refs);
 	INIT_LIST_HEAD(&hdl->ctrl_refs);
 	hdl->nr_of_buckets = 1 + nr_of_controls_hint / 8;
 	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;
 	hdl->error = hdl->buckets ? 0 : -ENOMEM;
 	return hdl->error;
 	return hdl->error;
 }
 }