Let the kmemdup_array() take care about multiplication and possible
overflows.
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
net/nfc/core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/nfc/core.c b/net/nfc/core.c
index e58dc6405054..cbc2f718aece 100644
--- a/net/nfc/core.c
+++ b/net/nfc/core.c
@@ -790,9 +790,8 @@ int nfc_targets_found(struct nfc_dev *dev,
dev->targets = NULL;
if (targets) {
- dev->targets = kmemdup(targets,
- n_targets * sizeof(struct nfc_target),
- GFP_ATOMIC);
+ dev->targets = kmemdup_array(targets, n_targets,
+ sizeof(struct nfc_target), GFP_ATOMIC);
if (!dev->targets) {
dev->n_targets = 0;
--
2.34.1