From e2b3bb32276252a922c0b02981d0fd998766feef Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 31 Aug 2007 14:30:16 +1000 Subject: [PATCH] libfdt: Fix use of uninitialized variable in fdt_get_path() 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 --- libfdt/fdt_ro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c index dc4a596..65bd1a2 100644 --- a/libfdt/fdt_ro.c +++ b/libfdt/fdt_ro.c @@ -302,7 +302,7 @@ int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen) buf[0] = '/'; p = 1; - while (offset < nodeoffset) { + while (nextoffset <= nodeoffset) { offset = nextoffset; tag = _fdt_next_tag(fdt, offset, &nextoffset); switch (tag) {