diff options
author | Gustavo A. R. Silva <gustavoars@kernel.org> | 2022-01-26 02:37:44 +0300 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2022-02-02 17:09:39 +0300 |
commit | 01f1269fbb0ead7e37f85213f77fb8e7efc4e099 (patch) | |
tree | 4f7445e9cfb87f82fbc6e100b62778fd11c63e62 /drivers/hid/hid-google-hammer.c | |
parent | 9b57f458985742bd1c585f4c7f36d04634ce1143 (diff) |
HID: google: 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/hid/hid-google-hammer.c:61:23: warning: using sizeof on a flexible structure
Link: https://github.com/KSPP/linux/issues/174
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-google-hammer.c')
-rw-r--r-- | drivers/hid/hid-google-hammer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/hid-google-hammer.c b/drivers/hid/hid-google-hammer.c index 0403beb3104b..ddbe0de177e2 100644 --- a/drivers/hid/hid-google-hammer.c +++ b/drivers/hid/hid-google-hammer.c @@ -58,7 +58,7 @@ static int cbas_ec_query_base(struct cros_ec_device *ec_dev, bool get_state, struct cros_ec_command *msg; int ret; - msg = kzalloc(sizeof(*msg) + max(sizeof(u32), sizeof(*params)), + msg = kzalloc(struct_size(msg, data, max(sizeof(u32), sizeof(*params))), GFP_KERNEL); if (!msg) return -ENOMEM; |