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
