[ovs-dev] [PATCH] ofp-group: Don't assert-fail decoding bad OF1.5 group mod type or command.
Yifeng Sun
pkusunyifeng at gmail.com
Fri Jul 6 23:24:35 UTC 2018
Looks good to me. Thanks.
Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>
On Thu, Jul 5, 2018 at 3:28 PM, Ben Pfaff <blp at ovn.org> wrote:
> When decoding a group mod, the current code validates the group type and
> command after the whole group mod has been decoded. The OF1.5 decoder,
> however, tries to use the type and command earlier, when it might still be
> invalid. This caused an assertion failure (via OVS_NOT_REACHED). This
> commit fixes the problem.
>
> ovs-vswitchd does not enable support for OpenFlow 1.5 by default.
>
> Reported-at: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9249
> Signed-off-by: Ben Pfaff <blp at ovn.org>
> ---
> lib/ofp-group.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/ofp-group.c b/lib/ofp-group.c
> index 697208f0e9f6..f6e5242f5244 100644
> --- a/lib/ofp-group.c
> +++ b/lib/ofp-group.c
> @@ -1547,7 +1547,7 @@ parse_group_prop_ntr_selection_method(struct ofpbuf
> *payload,
> "only allowed for select groups");
> return OFPERR_OFPBPC_BAD_VALUE;
> default:
> - OVS_NOT_REACHED();
> + return OFPERR_OFPGMFC_BAD_TYPE;
> }
>
> switch (group_cmd) {
> @@ -1562,7 +1562,7 @@ parse_group_prop_ntr_selection_method(struct ofpbuf
> *payload,
> "only allowed for add and delete group
> modifications");
> return OFPERR_OFPBPC_BAD_VALUE;
> default:
> - OVS_NOT_REACHED();
> + return OFPERR_OFPGMFC_BAD_COMMAND;
> }
>
> if (payload->size < sizeof *prop) {
> --
> 2.16.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
More information about the dev
mailing list