diff --git a/tools/net/ynl/lib/ynl.c b/tools/net/ynl/lib/ynl.c index 45e49671ae87..4078f92081a2 100644 --- a/tools/net/ynl/lib/ynl.c +++ b/tools/net/ynl/lib/ynl.c @@ -94,7 +94,7 @@ ynl_err_walk(struct ynl_sock *ys, void *start, void *end, unsigned int off, mnl_attr_for_each_payload(start, data_len) { astart_off = (char *)attr - (char *)start; - aend_off = astart_off + mnl_attr_get_payload_len(attr); + aend_off = (char *)mnl_attr_get_payload_len(attr) - (char *)start; if (aend_off <= off) continue;