From: Jesse Gross Date: Thu, 16 Dec 2010 22:27:47 +0000 (-0800) Subject: odp-util: Correct length check in format_odp_action(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b7b0c62097cbce87b247e30f16e1fbdd1770cca3;p=openvswitch odp-util: Correct length check in format_odp_action(). When printing the action list we first check that the size of the action matches the expected length for that type. However, when doing the lookup we were passing in the length of the action, not the type, leading to bogus values. --- diff --git a/lib/odp-util.c b/lib/odp-util.c index 91320c45..547e87ed 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -103,9 +103,9 @@ format_odp_action(struct ds *ds, const struct nlattr *a) const uint8_t *eth; ovs_be32 ip; - if (nl_attr_get_size(a) != odp_action_len(a->nla_len)) { + if (nl_attr_get_size(a) != odp_action_len(nl_attr_type(a))) { ds_put_format(ds, "***bad action: length is %zu, expected %d*** ", - nl_attr_get_size(a), odp_action_len(a->nla_len)); + nl_attr_get_size(a), odp_action_len(nl_attr_type(a))); format_generic_odp_action(ds, a); return; }