[PATCH 1/1] libfdt: error handling fdt_open_into()

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Oct 27 17:21:52 PDT 2026


fdt_num_mem_rsv() may return -FDT_ERR_TRUNCATED.

fdt_open_into() should handle this error condition instead of blindly
continuing.

Addresses-Coverity-ID: ("1595097 Overflowed integer argument")
Fixes: e2ce15cb3be9 ("platform: Add libfdt support.")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 lib/utils/libfdt/fdt_rw.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/utils/libfdt/fdt_rw.c b/lib/utils/libfdt/fdt_rw.c
index b3b8e73c..207b5ffc 100644
--- a/lib/utils/libfdt/fdt_rw.c
+++ b/lib/utils/libfdt/fdt_rw.c
@@ -427,7 +427,10 @@ int fdt_open_into(const void *fdt, void *buf, int bufsize)
 
 	FDT_RO_PROBE(fdt);
 
-	mem_rsv_size = (fdt_num_mem_rsv(fdt)+1)
+	mem_rsv_size = fdt_num_mem_rsv(fdt);
+	if (mem_rsv_size < 0)
+		return mem_rsv_size;
+	mem_rsv_size = (mem_rsv_size + 1)
 		* sizeof(struct fdt_reserve_entry);
 
 	if (can_assume(LATEST) || fdt_version(fdt) >= 17) {
-- 
2.53.0




More information about the opensbi mailing list