Hi Vasu,

Vasu Dasari <[email protected]> writes:

> Good catch!!!
> Can you also check for mask_len before calling nl_attr_find__() as is done
> in other places in the same function?

I asked to remove the mask_len check.  nl_attr_find__() already does
such check.  I scanned the code to find such examples, but only one
exists (which is in odp-util.c).  Other places either don't validate at
all, or were pulled during an nl_attr_get_size() call.

I don't see why such check is needed.  Maybe I missed something?

> *Vasu Dasari*
>
>
> On Wed, Sep 1, 2021 at 2:29 AM Yunjian Wang <[email protected]> wrote:
>
>> This patch fixes (dereference after null check) coverity issue.
>> For this reason, we should add null check of 'mask' before calling
>> nl_attr_find__() because the 'mask' maybe null.
>>
>> Addresses-Coverity: ("Dereference after null check")
>> Fixes: e6cc0babc25d ("ovs-dpctl: Add mega flow support")
>> Signed-off-by: Yunjian Wang <[email protected]>
>> ---
>> v2:
>>   * update code styles suggested by Aaron Conole
>> ---
>>  lib/odp-util.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/odp-util.c b/lib/odp-util.c
>> index 7729a9060..bf427f027 100644
>> --- a/lib/odp-util.c
>> +++ b/lib/odp-util.c
>> @@ -4618,7 +4618,7 @@ odp_flow_format(const struct nlattr *key, size_t
>> key_len,
>>              }
>>              ds_put_char(ds, ')');
>>          }
>> -        if (!has_ethtype_key) {
>> +        if (!has_ethtype_key && mask) {
>>              const struct nlattr *ma = nl_attr_find__(mask, mask_len,
>>
>> OVS_KEY_ATTR_ETHERTYPE);
>>              if (ma) {
>> --
>> 2.18.1
>>
>> _______________________________________________
>> dev mailing list
>> [email protected]
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to