On 2/20/2019 1:53 PM, Cpp Code wrote:

On 20 Feb 2019, at 02:27, Gregory Rose <gvrose8...@gmail.com <mailto:gvrose8...@gmail.com>> wrote:


On 2/19/2019 10:55 AM, Toms Atteka wrote:
If enough large input is passed to odp_actions_from_string it can
cause netlink attribute to overflow.
Check for buffer size was added to prevent entering this function
and returning appropriate error code.

Basic manual testing was performed.

Reported-by:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12231
Signed-off-by: Toms Atteka<cpp.code...@gmail.com>
---
  lib/odp-util.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/lib/odp-util.c b/lib/odp-util.c
index e893f46..e288ae8 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -2161,6 +2161,10 @@ parse_action_list(const char *s, const struct simap 
*port_names,
          n += retval;
      }
+ if (actions->size > UINT16_MAX) {
+        return -EFBIG;
+    }
+
      return n;
  }
Hi Toms,

Thanks for the patch.  Question though, why EFBIG instead of E2BIG?  This would appear to be a situation in which too many arguments are sent (E2BIG) but then maybe it is from a file (EFBIG)?

Also, I see this is a version 3 of this patch?  What changed from version 1 to version 3?  Commonly the changes from each version of a patch are posted beneath the git separator '---'.  Like below...

Thanks,

- Greg

Signed-off-by: Martin Xu <martinxu9....@gmail.com>
CC: Flavio Leitner <f...@sysclose.org>
CC: Yi-Hung Wei <yihung....@gmail.com> CC: Yifeng Sun <pkusunyif...@gmail.com> CC: Zak Whittington <zwhitt.vmw...@gmail.com> CC: Ben Pfaff <b...@ovn.org> --- v1->v2: adds "Obsoletes" tag needed for upgrade after renaming adds more reviewers


Hi Greg,


Thats not a case of too many arguments provided, but the the size of a single argument is too large, so I believe EFBIG is more appropriate.

I guess its not worth creating v4 but ill keep in my mind off adding change log next time.

Thanks,
Tom

OK, thanks for the explanation.  You can add my Reviewed-by tag.

Reviewed-by: Greg Rose <gvrose8...@gmail.com>

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to