staging: unisys: visorinput: Use struct_size() helper in kzalloc()
PATCH 1/1 staging: unisys: visorinput: Use struct_size() helper in kzalloc()
Make use of the struct_size() helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows.
Also, address the following sparse warnings:drivers/staging/unisys/visorinput/visorinput.c:409:27: warning: using sizeof on a flexible structure
--- drivers/staging/unisys/visorinput/visorinput.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/staging/unisys/visorinput/visorinput.c +2 -1
@@ -406,7 +406,8 @@ static struct visorinput_devdata *devdata_create(struct visor_device *dev,if (dtype == visorinput_keyboard)/* allocate room for devdata->keycode_table, filled in below */ extra_bytes =KEYCODE_TABLE_BYTES *2 ; - devdata =kzalloc (sizeof (*devdata) + extra_bytes,GFP_KERNEL ); + devdata =kzalloc (struct_size (devdata, keycode_table, extra_bytes), +GFP_KERNEL );if (!devdata)return NULL ;mutex_init (&devdata->lock_visor_dev);
Signature · 1 line
2.27.0