The local variable ranges may be used uninitialised if the function
fdt_get_dma_range is called with node < 0. Ensure this does not
happen by initialising ranges when declared.

This issue was found with Smatch.

Signed-off-by: Andrew Goodbody <[email protected]>
---
 boot/fdt_support.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boot/fdt_support.c b/boot/fdt_support.c
index 92f2f534ee0..4f63ce9a763 100644
--- a/boot/fdt_support.c
+++ b/boot/fdt_support.c
@@ -1547,7 +1547,7 @@ int fdt_get_dma_range(const void *blob, int node, 
phys_addr_t *cpu,
 {
        bool found_dma_ranges = false;
        struct of_bus *bus_node;
-       const fdt32_t *ranges;
+       const fdt32_t *ranges = NULL;
        int na, ns, pna, pns;
        int parent = node;
        int ret = 0;

---
base-commit: 359e3012921f2fc2d43f3c4e320a752173f82b82
change-id: 20250627-boot_fdt_fix-e4e56d956c8a

Best regards,
-- 
Andrew Goodbody <[email protected]>

Reply via email to