From: Gustavo A. R. Silva Date: Wed, 17 Apr 2019 18:44:40 +0000 (-0500) Subject: staging: greybus: power_supply: use struct_size() helper X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=827c085baede48155c57dff16396620c5377e755;p=openwrt%2Fstaging%2Fblogic.git staging: greybus: power_supply: use struct_size() helper Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes, in particular in the context in which this code is being used. So, replace code of the following form: sizeof(*resp) + props_count * sizeof(struct gb_power_supply_props_desc) with: struct_size(resp, props, props_count) This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva Reviewed-by: Rui Miguel Silva Reviewed-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c index ae5c0285a942..34b40a409ea3 100644 --- a/drivers/staging/greybus/power_supply.c +++ b/drivers/staging/greybus/power_supply.c @@ -520,8 +520,8 @@ static int gb_power_supply_prop_descriptors_get(struct gb_power_supply *gbpsy) op = gb_operation_create(connection, GB_POWER_SUPPLY_TYPE_GET_PROP_DESCRIPTORS, - sizeof(*req), sizeof(*resp) + props_count * - sizeof(struct gb_power_supply_props_desc), + sizeof(*req), + struct_size(resp, props, props_count), GFP_KERNEL); if (!op) return -ENOMEM;