Thanks.  Applied to master and backported as far as branch-2.6.

On Fri, Aug 03, 2018 at 08:50:37AM -0400, Mark Michelson wrote:
> Acked-by: Mark Michelson <[email protected]>
> 
> On 07/26/2018 06:43 PM, Ben Pfaff wrote:
> >Reported-at: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9424
> >Signed-off-by: Ben Pfaff <[email protected]>
> >---
> >  lib/nx-match.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> >diff --git a/lib/nx-match.c b/lib/nx-match.c
> >index 6b1b563ea7b0..3b030833cb2c 100644
> >--- a/lib/nx-match.c
> >+++ b/lib/nx-match.c
> >@@ -742,7 +742,6 @@ oxm_pull_field_array(const void *fields_data, size_t 
> >fields_len,
> >                                  NULL);
> >          if (error) {
> >              VLOG_DBG_RL(&rl, "error pulling field array field");
> >-            return error;
> >          } else if (!field) {
> >              VLOG_DBG_RL(&rl, "unknown field array field");
> >              error = OFPERR_OFPBMC_BAD_FIELD;
> >@@ -751,7 +750,7 @@ oxm_pull_field_array(const void *fields_data, size_t 
> >fields_len,
> >              error = OFPERR_OFPBMC_DUP_FIELD;
> >          } else if (!mf_is_mask_valid(field, &value)) {
> >              VLOG_DBG_RL(&rl, "bad mask in field array field '%s'", 
> > field->name);
> >-            return OFPERR_OFPBMC_BAD_MASK;
> >+            error = OFPERR_OFPBMC_BAD_MASK;
> >          } else {
> >              field_array_set(field->id, &value, fa);
> >          }
> >@@ -762,6 +761,8 @@ oxm_pull_field_array(const void *fields_data, size_t 
> >fields_len,
> >              VLOG_DBG_RL(&rl, "error parsing OXM at offset %"PRIdPTR" "
> >                          "within field array (%s)", pos - start,
> >                          ofperr_to_string(error));
> >+
> >+            free(fa->values);
> >              return error;
> >          }
> >      }
> >
> 
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to