Looks good, thank you. On Mar 24, 2013 5:22 PM, "Gurucharan Shetty" <[email protected]> wrote:
> Currently, when flow attribute type is greater than OVS_KEY_ATTR_MAX, > we can write into a random memory address causing corruption. Fix it. > > Bug #15702. > Signed-off-by: Gurucharan Shetty <[email protected]> > --- > lib/odp-util.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/odp-util.c b/lib/odp-util.c > index f9e9321..751c1c9 100644 > --- a/lib/odp-util.c > +++ b/lib/odp-util.c > @@ -1714,6 +1714,7 @@ parse_flow_nlattrs(const struct nlattr *key, size_t > key_len, > uint64_t present_attrs; > size_t left; > > + BUILD_ASSERT(OVS_KEY_ATTR_MAX < CHAR_BIT * sizeof present_attrs); > present_attrs = 0; > *out_of_range_attrp = 0; > NL_ATTR_FOR_EACH (nla, left, key, key_len) { > @@ -1728,7 +1729,7 @@ parse_flow_nlattrs(const struct nlattr *key, size_t > key_len, > return false; > } > > - if (type >= CHAR_BIT * sizeof present_attrs) { > + if (type > OVS_KEY_ATTR_MAX) { > *out_of_range_attrp = type; > } else { > if (present_attrs & (UINT64_C(1) << type)) { > -- > 1.7.9.5 > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev >
_______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
