Skip to content

Commit fda8c49

Browse files
Henry Martinkuba-moo
Henry Martin
authored andcommitted
arcnet: Add NULL check in com20020pci_probe()
devm_kasprintf() returns NULL when memory allocation fails. Currently, com20020pci_probe() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue and ensure no resources are left allocated. Fixes: 6b17a59 ("arcnet: restoring support for multiple Sohard Arcnet cards") Signed-off-by: Henry Martin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 613f727 commit fda8c49

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

drivers/net/arcnet/com20020-pci.c

+16-1
Original file line numberDiff line numberDiff line change
@@ -251,18 +251,33 @@ static int com20020pci_probe(struct pci_dev *pdev,
251251
card->tx_led.default_trigger = devm_kasprintf(&pdev->dev,
252252
GFP_KERNEL, "arc%d-%d-tx",
253253
dev->dev_id, i);
254+
if (!card->tx_led.default_trigger) {
255+
ret = -ENOMEM;
256+
goto err_free_arcdev;
257+
}
254258
card->tx_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL,
255259
"pci:green:tx:%d-%d",
256260
dev->dev_id, i);
257-
261+
if (!card->tx_led.name) {
262+
ret = -ENOMEM;
263+
goto err_free_arcdev;
264+
}
258265
card->tx_led.dev = &dev->dev;
259266
card->recon_led.brightness_set = led_recon_set;
260267
card->recon_led.default_trigger = devm_kasprintf(&pdev->dev,
261268
GFP_KERNEL, "arc%d-%d-recon",
262269
dev->dev_id, i);
270+
if (!card->recon_led.default_trigger) {
271+
ret = -ENOMEM;
272+
goto err_free_arcdev;
273+
}
263274
card->recon_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL,
264275
"pci:red:recon:%d-%d",
265276
dev->dev_id, i);
277+
if (!card->recon_led.name) {
278+
ret = -ENOMEM;
279+
goto err_free_arcdev;
280+
}
266281
card->recon_led.dev = &dev->dev;
267282

268283
ret = devm_led_classdev_register(&pdev->dev, &card->tx_led);

0 commit comments

Comments
 (0)