Skip to content

Commit 37ad2e3

Browse files
GustavoARSilvadtor
authored andcommitted
Input: applespi - use struct_size() helper
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct touchpad_protocol { ... struct tp_finger fingers[0]; }; Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes. So, replace the following form: sizeof(*tp) + tp->number_of_fingers * sizeof(tp->fingers[0]); with: struct_size(tp, fingers, tp->number_of_fingers) This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent c88090d commit 37ad2e3

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

drivers/input/keyboard/applespi.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,8 +1494,7 @@ static void applespi_got_data(struct applespi_data *applespi)
14941494
size_t tp_len;
14951495

14961496
tp = &message->touchpad;
1497-
tp_len = sizeof(*tp) +
1498-
tp->number_of_fingers * sizeof(tp->fingers[0]);
1497+
tp_len = struct_size(tp, fingers, tp->number_of_fingers);
14991498

15001499
if (le16_to_cpu(message->length) + 2 != tp_len) {
15011500
dev_warn_ratelimited(&applespi->spi->dev,

0 commit comments

Comments
 (0)