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 <david@gibson.dropbear.id.au>main
parent
7ca330865e
commit
e2b3bb3227
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue