[media] dvb-tc90522: Use kmalloc_array() in tc90522_master_xfer()
authorMarkus Elfring <elfring@users.sourceforge.net>
Fri, 7 Oct 2016 19:07:43 +0000 (16:07 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 16 Nov 2016 14:16:20 +0000 (12:16 -0200)
A multiplication for the size determination of a memory allocation
indicated that an array data structure should be processed.
Thus use the corresponding function "kmalloc_array".

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/dvb-frontends/tc90522.c

index 31cd32532387e44c5833d70c29a04fbfe9c16773..c2d45f0713312468a2b3546fa9616d9ed2db5bc7 100644 (file)
@@ -656,7 +656,7 @@ tc90522_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
        for (i = 0; i < num; i++)
                if (msgs[i].flags & I2C_M_RD)
                        rd_num++;
-       new_msgs = kmalloc(sizeof(*new_msgs) * (num + rd_num), GFP_KERNEL);
+       new_msgs = kmalloc_array(num + rd_num, sizeof(*new_msgs), GFP_KERNEL);
        if (!new_msgs)
                return -ENOMEM;