The branch is unused as size < sizeof dst->inline_values must
always be true for inlined values. Hitting the branch would lead
to corruption as inline_values is accessed out of bounds.

Remove branch and add assertion.

Cc: Jarno Rajahalme <jrajaha...@nicira.com>
Signed-off-by: Thomas Graf <tg...@noironetworks.com>
---
v2: fixed assertion

 lib/flow.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/lib/flow.c b/lib/flow.c
index 29b331e..bef2f27 100644
--- a/lib/flow.c
+++ b/lib/flow.c
@@ -1726,12 +1726,9 @@ miniflow_move(struct miniflow *dst, struct miniflow *src)
         dst->values_inline = true;
         memcpy(dst->inline_values, miniflow_get_values(src), size);
         miniflow_destroy(src);
-    } else if (src->values_inline) {
-        dst->values_inline = false;
-        COVERAGE_INC(miniflow_malloc);
-        dst->offline_values = xmalloc(size);
-        memcpy(dst->offline_values, src->inline_values, size);
     } else {
+        ovs_assert(!src->values_inline);
+
         dst->values_inline = false;
         dst->offline_values = src->offline_values;
     }
-- 
1.9.3

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to