[ovs-dev] [PATCH v2 3/8] lib/odp-util: Do not use mask if it doesn't exist.
YAMAMOTO Takashi
yamamoto at valinux.co.jp
Mon Apr 14 08:14:37 UTC 2014
> Diagnostic code path dereferenced a NULL pointer.
>
> Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
Reviewed-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
> ---
> lib/odp-util.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/lib/odp-util.c b/lib/odp-util.c
> index 10bf925..f61c2b2 100644
> --- a/lib/odp-util.c
> +++ b/lib/odp-util.c
> @@ -1009,22 +1009,22 @@ format_odp_key_attr(const struct nlattr *a, const struct nlattr *ma,
> expected_len = odp_flow_key_attr_len(nl_attr_type(a));
> if (expected_len != -2) {
> bool bad_key_len = nl_attr_get_size(a) != expected_len;
> - bool bad_mask_len = ma && nl_attr_get_size(a) != expected_len;
> + bool bad_mask_len = ma && nl_attr_get_size(ma) != expected_len;
>
> if (bad_key_len || bad_mask_len) {
> if (bad_key_len) {
> ds_put_format(ds, "(bad key length %"PRIuSIZE", expected %d)(",
> - nl_attr_get_size(a),
> - odp_flow_key_attr_len(nl_attr_type(a)));
> + nl_attr_get_size(a), expected_len);
> }
> format_generic_odp_key(a, ds);
> - if (bad_mask_len) {
> + if (ma) {
> ds_put_char(ds, '/');
> - ds_put_format(ds, "(bad mask length %"PRIuSIZE", expected %d)(",
> - nl_attr_get_size(ma),
> - odp_flow_key_attr_len(nl_attr_type(ma)));
> + if (bad_mask_len) {
> + ds_put_format(ds, "(bad mask length %"PRIuSIZE", expected %d)(",
> + nl_attr_get_size(ma), expected_len);
> + }
> + format_generic_odp_key(ma, ds);
> }
> - format_generic_odp_key(ma, ds);
> ds_put_char(ds, ')');
> return;
> }
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list