summaryrefslogtreecommitdiff
path: root/ufdt_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'ufdt_node.c')
-rw-r--r--ufdt_node.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ufdt_node.c b/ufdt_node.c
index 89e2a17..3568ad7 100644
--- a/ufdt_node.c
+++ b/ufdt_node.c
@@ -126,7 +126,13 @@ char *ufdt_node_get_fdt_prop_data(const struct ufdt_node *node, int *out_len) {
}
const struct fdt_property *prop = (struct fdt_property *)node->fdt_tag_ptr;
if (out_len != NULL) {
- *out_len = fdt32_to_cpu(prop->len);
+ uint32_t prop_len = fdt32_to_cpu(prop->len);
+
+ if (prop_len > INT_MAX) {
+ return NULL;
+ }
+
+ *out_len = prop_len;
}
return (char *)prop->data;
}