diff mbox

[ovs-dev] ofp-actions: Assert variable actions have len>0.

Message ID 1457393798-24932-1-git-send-email-joe@ovn.org
State Accepted
Headers show

Commit Message

Joe Stringer March 7, 2016, 11:36 p.m. UTC
Variable-length actions must have a nonzero length; if they don't,
something went wrong and we should bail out.

Suggested-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Joe Stringer <joe@ovn.org>
---
 lib/ofp-actions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ben Pfaff March 7, 2016, 11:38 p.m. UTC | #1
On Mon, Mar 07, 2016 at 03:36:36PM -0800, Joe Stringer wrote:
> Variable-length actions must have a nonzero length; if they don't,
> something went wrong and we should bail out.
> 
> Suggested-by: Ben Pfaff <blp@ovn.org>
> Signed-off-by: Joe Stringer <joe@ovn.org>

Acked-by: Ben Pfaff <blp@ovn.org>
Joe Stringer March 8, 2016, 12:52 a.m. UTC | #2
On 7 March 2016 at 15:38, Ben Pfaff <blp@ovn.org> wrote:
> On Mon, Mar 07, 2016 at 03:36:36PM -0800, Joe Stringer wrote:
>> Variable-length actions must have a nonzero length; if they don't,
>> something went wrong and we should bail out.
>>
>> Suggested-by: Ben Pfaff <blp@ovn.org>
>> Signed-off-by: Joe Stringer <joe@ovn.org>
>
> Acked-by: Ben Pfaff <blp@ovn.org>

Thanks, applied.
diff mbox

Patch

diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index a7c0388adeaa..e5fe8e608986 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -7407,7 +7407,7 @@  ofpact_finish(struct ofpbuf *ofpacts, struct ofpact *ofpact)
 
     ovs_assert(ofpact == ofpacts->header);
     len = (char *) ofpbuf_tail(ofpacts) - (char *) ofpact;
-    ovs_assert(len <= UINT16_MAX);
+    ovs_assert(len && len <= UINT16_MAX);
     ofpact->len = len;
     ofpbuf_padto(ofpacts, OFPACT_ALIGN(ofpacts->size));