My recent implemenetation of fdt_get_path() had a bug - the while loop tested offset which was unitialized on the first iteration. Depending on code surrounding the call, this could cause fdt_get_path() to return incorrect results.
This patch corrects the problem by applying some more correct thinking to the loop condition. Signed-off-by: David Gibson <[EMAIL PROTECTED]> Index: dtc/libfdt/fdt_ro.c =================================================================== --- dtc.orig/libfdt/fdt_ro.c 2007-08-31 14:26:26.000000000 +1000 +++ dtc/libfdt/fdt_ro.c 2007-08-31 14:26:31.000000000 +1000 @@ -302,7 +302,7 @@ buf[0] = '/'; p = 1; - while (offset < nodeoffset) { + while (nextoffset <= nodeoffset) { offset = nextoffset; tag = _fdt_next_tag(fdt, offset, &nextoffset); switch (tag) { -- David Gibson | 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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev