Message ID | 20220131160713.245637-8-marcan@marcan.st |
---|---|
State | New |
Headers | show |
Series | [v4,1/9] brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path | expand |
On Mon, Jan 31, 2022 at 5:07 PM Hector Martin <marcan@marcan.st> wrote: > >This was missing a NULL check, and we can collapse the strlen/alloc/copy >into a devm_kstrdup(). ... > /* get rid of '/' in the compatible string to be able to find the FW */ > len = strlen(tmp) + 1; >- board_type = devm_kzalloc(dev, len, >GFP_KERNEL); >- strscpy(board_type, tmp, len); >+ board_type = devm_kstrdup(dev, tmp, GFP_KERNEL); Also `len` can be dropped, since it is now unused. -- Best regards, Piotr Masłowski
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c index 513c7e6421b2..5708de1d9f26 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c @@ -79,8 +79,11 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, /* get rid of '/' in the compatible string to be able to find the FW */ len = strlen(tmp) + 1; - board_type = devm_kzalloc(dev, len, GFP_KERNEL); - strscpy(board_type, tmp, len); + board_type = devm_kstrdup(dev, tmp, GFP_KERNEL); + if (!board_type) { + of_node_put(root); + return; + } for (i = 0; i < board_type[i]; i++) { if (board_type[i] == '/') board_type[i] = '-';