strdup uses malloc to allocate memory for str. If we cannot bind to the generic driver we should release the memory.
The problem was indicated by clang scan-build. Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> --- drivers/pci/pci-uclass.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 40f59c0c4c..504d7e3bb1 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -660,6 +660,7 @@ static int pci_find_and_bind_driver(struct udevice *parent, ret = device_bind_driver(parent, drv, str, devp); if (ret) { debug("%s: Failed to bind generic driver: %d\n", __func__, ret); + free(str); return ret; } debug("%s: No match found: bound generic driver instead\n", __func__); -- 2.11.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot