[Pdbg] [PATCH] libpdbg: Fix rework target addressing
Nicholas Piggin
npiggin at gmail.com
Sat Nov 10 21:05:26 AEDT 2018
Commit 936dbdcedb27 ("libpdbg: Rework target addressing") introduced
a bug in the target address calculation, using index 1 rather than the
intended 0.
Fixes: 936dbdcedb27 ("libpdbg: Rework target addressing")
Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
libpdbg/device.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/libpdbg/device.c b/libpdbg/device.c
index 9557172..f81b1b5 100644
--- a/libpdbg/device.c
+++ b/libpdbg/device.c
@@ -626,15 +626,14 @@ uint64_t pdbg_target_address(struct pdbg_target *target, uint64_t *out_size)
const struct dt_property *p;
u32 na = dt_n_address_cells(target);
u32 ns = dt_n_size_cells(target);
- u32 pos, n;
+ u32 n;
p = dt_require_property(target, "reg", -1);
n = (na + ns) * sizeof(u32);
- pos = n;
- assert((pos + n) <= p->len);
+ assert(n <= p->len);
if (out_size)
- *out_size = dt_get_number(p->prop + pos + na * sizeof(u32), ns);
- return dt_get_number(p->prop + pos, na);
+ *out_size = dt_get_number(p->prop + na * sizeof(u32), ns);
+ return dt_get_number(p->prop, na);
}
void pdbg_targets_init(void *fdt)
--
2.18.0
More information about the Pdbg
mailing list