[ovs-dev] [PATCH] odp-util: Correct length check in format_odp_action().

Jesse Gross jesse at nicira.com
Thu Dec 16 22:33:51 UTC 2010


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.
---
 lib/odp-util.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/odp-util.c b/lib/odp-util.c
index 91320c4..547e87e 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;
     }
-- 
1.7.1





More information about the dev mailing list