On Mon, Jan 12, 2026 at 03:19:41PM +0100, Herve Codina wrote: > Orphan nodes have been introduced recently. > > The process_checks() function uses fullpath in several places and > crashes due NULL pointer dereferences if fullpath is NULL. > > In order to have process_checks() function running without crashes with > orphan trees (i.e. trees based on orphan nodes), the fullpath of node > available in those orphan trees must not be NULL. > > Fullpath values are built by dti_fill_fullpaths(). Update it to handle > fullpath in trees based on orphan nodes. > > Use a simple "__orphan__/" prefix to avoid the NULL pointer and to be > distinct from the root node ("/" prefix). > > It is worth noting that this "__orphan__/" prefix is a temporary prefix > and it will be change later when support for reference by path involving > nodes in orphan tree is added. It might be simpler to eliminate the fullpath field entirely, and instead have a function that calculates fullpaths at the point you need them. > > Signed-off-by: Herve Codina > --- > dtc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/dtc.c b/dtc.c > index 59f4d77..5cf8f31 100644 > --- a/dtc.c > +++ b/dtc.c > @@ -47,9 +47,14 @@ static void fill_fullpaths(struct node *tree, const char *prefix) > > static void dti_fill_fullpaths(struct dt_info *dti) > { > + struct node *orphan; > + > /* Fill fullpaths for the root node */ > if (dti->dt) > fill_fullpaths(dti->dt, ""); > + > + for_each_orphan(dti->orphanlist, orphan) > + fill_fullpaths(orphan, "__orphan__/"); > } > > /* Usage related data. */ > -- > 2.52.0 > > -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson