aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-05-11 13:01:00 +0200
committerHimbeer <himbeer@disroot.org>2024-05-11 13:01:31 +0200
commit5b8f3f85bf4df02a104ede7d2f8f53f4a6bc6adc (patch)
tree4f454d75c14cb4ea0e3178bd3b4127433ea6bddd
parente50750952e244d98bbafbe1ceb68259221e84846 (diff)
fdt: Make Node.reg fail if #address-cells or #size-cells is zero
-rw-r--r--src/fdt.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/fdt.zig b/src/fdt.zig
index 14a0e8c..d62e9fd 100644
--- a/src/fdt.zig
+++ b/src/fdt.zig
@@ -67,6 +67,8 @@ pub const Node = struct {
const address_cells = if (address_cells_bytes) |bytes| std.mem.readInt(u32, bytes[0..4], .Big) else 2;
const size_cells = if (size_cells_bytes) |bytes| std.mem.readInt(u32, bytes[0..4], .Big) else 1;
+ if (address_cells == 0 or size_cells == 0) return null;
+
const reg_prop = self.props.get("reg") orelse return null;
const reg_elem_len = 4 * address_cells + 4 * size_cells;