staging: fbtft: Use devm_kcalloc instead of devm_kzalloc
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Thu, 25 Feb 2016 13:20:58 +0000 (18:50 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 Mar 2016 06:09:09 +0000 (22:09 -0800)
Replace devm_kzalloc with devm_kcalloc to ensure there are no integer
overflows from the multiplication of a number * sizeof

The following Coccinelle semantic patch was used to make this change:
//<smpl>
@@
expression dev,E1,E2,E3,E4;
@@

- devm_kzalloc(dev,E1*E2*sizeof(E3),E4)
+ devm_kcalloc(dev,E1*E2,sizeof(E3),E4)
//</smpl>

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fbtft/fbtft-core.c

index 574c148..0c1a77c 100644 (file)
@@ -736,8 +736,11 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
                goto alloc_fail;
 
        if (display->gamma_num && display->gamma_len) {
-               gamma_curves = devm_kzalloc(dev, display->gamma_num * display->gamma_len * sizeof(gamma_curves[0]),
-                                               GFP_KERNEL);
+               gamma_curves = devm_kcalloc(dev,
+                                           display->gamma_num *
+                                           display->gamma_len,
+                                           sizeof(gamma_curves[0]),
+                                           GFP_KERNEL);
                if (!gamma_curves)
                        goto alloc_fail;
        }