aboutsummaryrefslogtreecommitdiff
path: root/tests/overlay.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/overlay.c')
-rw-r--r--tests/overlay.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/overlay.c b/tests/overlay.c
index 91afa72..f3dd310 100644
--- a/tests/overlay.c
+++ b/tests/overlay.c
@@ -35,7 +35,11 @@ static int fdt_getprop_u32_by_poffset(void *fdt, const char *path,
return node_off;
val = fdt_getprop(fdt, node_off, name, &len);
- if (!val || (len < (sizeof(uint32_t) * (poffset + 1))))
+ if (val && len < 0)
+ FAIL("fdt_getprop() returns negative length");
+ if (!val && len < 0)
+ return len;
+ if (!val || ((unsigned)len < (sizeof(uint32_t) * (poffset + 1))))
return -FDT_ERR_NOTFOUND;
*out = fdt32_to_cpu(*(val + poffset));