diff --git a/src/barebox-state.c b/src/barebox-state.c index 02e085b..f64347c 100644 --- a/src/barebox-state.c +++ b/src/barebox-state.c @@ -336,9 +336,13 @@ struct state_enum32 *enum32; int ret, i, num_names; - enum32 = xzalloc(sizeof(*enum32)); - num_names = of_property_count_strings(node, "names"); + if (num_names < 0) { + fprintf(stderr, "enum32 node without \"names\" property\n"); + return ERR_PTR(-EINVAL); + } + + enum32 = xzalloc(sizeof(*enum32)); enum32->names = xzalloc(sizeof(char *) * num_names); enum32->num_names = num_names;