Merge "Fix pointer arithmetics in libufdt" into main
diff --git a/ufdt_overlay.c b/ufdt_overlay.c
index 6fa8c31..9f23c57 100644
--- a/ufdt_overlay.c
+++ b/ufdt_overlay.c
@@ -290,6 +290,12 @@
 
     const char *fixups_paths = ufdt_node_get_fdt_prop_data(fixups, &len);
 
+    if (len == 0 || !fixups_paths || fixups_paths[len - 1] != 0) {
+      dto_error("Format error for %s: fixups are not null terminated\n",
+                ufdt_node_name(fixups));
+      return -1;
+    }
+
     if (ufdt_do_one_fixup(overlay_tree, fixups_paths, len, phandle) < 0) {
       dto_error("Failed one fixup in ufdt_do_one_fixup\n");
       return -1;