[ovs-dev] [PATCH V3 1/1] ofp-parse: Fix segfault due to bad meter n_bands

Aaron Conole aconole at redhat.com
Wed Mar 17 19:40:36 UTC 2021

Flavio Fernandes <flavio at flaviof.com> writes:

> Meter commands internally use ofctl_meter_mod__ and ofctl_meter_request__ functions,
> which have an optional parameter called str. When str is NULL, these 2 functions initialize
> a struct with meter bands set as NULL. It also needs to set meter n_bands to 0.
> Once del-meters change in test dpif-netdev.at is added, the valgrind report on test
> '992: dpif-netdev - meters' shows this issue:
>    Conditional jump or move depends on uninitialised value(s)
>       at 0x473534: ofputil_put_bands (ofp-meter.c:207)
>       by 0x473534: ofputil_encode_meter_mod (ofp-meter.c:557)
>       by 0x40FBA2: ofctl_meter_mod__ (ovs-ofctl.c:4038)
>       by 0x417BD3: ovs_cmdl_run_command__ (command-line.c:247)
>       by 0x4078BA: main (ovs-ofctl.c:179)
>     Uninitialised value was created by a stack allocation
>       at 0x409350: ofctl_del_meters (ovs-ofctl.c:4088)
> Fixes: 3200ed5805 ("ovs-ofctl: Add meter support.")
> Signed-off-by: Flavio Fernandes <flavio at flaviof.com>
> ---
> v3:
>  - Nit: Fix commit message
> v2:
>  - Use memset to initialize struct instead of setting individial members
>  - Invoke del-meters in existing tests/dpif-netdev.at test
> ---

Nice, and thanks for including the test case enhancement :)

Acked-by: Aaron Conole <aconole at redhat.com>

More information about the dev mailing list