Hi Patrick, On Sun, 28 Feb 2016, Patrick Wildt wrote:
> Hi, > > If we're calling fdt_find_node() and do not actually find the node we're > looking for, we call strncmp with a NULL value. > [...] Tested on RB600A: boots fine, dmesg unchanged (mod banner). Patch applied to HEAD, fdt.c:1.12. best, Richard. > diff --git sys/arch/socppc/socppc/fdt.c sys/arch/socppc/socppc/fdt.c > index 0dec4fb..741763c 100644 > --- sys/arch/socppc/socppc/fdt.c > +++ sys/arch/socppc/socppc/fdt.c > @@ -274,6 +274,13 @@ fdt_find_node(char *name) > > for (child = fdt_child_node(node); child; > child = fdt_next_node(child)) { > + /* > + * A child always starts with a FDT_NODE_BEGIN token. > + * If it's another token, we have reached the end of > + * the list but have not found a match. > + */ > + if (betoh32(*(uint32_t *)child) != FDT_NODE_BEGIN) > + return NULL; > if (strncmp(p, fdt_node_name(child), q - p) == 0) { > node = child; > break; > >