Found by Coverity:

  CID 397544:  Incorrect expression  (COPY_PASTE_ERROR)
  "obs_point_src" in "(*os).obs_point_src.n_bits" looks
  like a copy-paste error.

Also adding a test case to cover this situation.

Fixes: 1aa9e137fe36 ("ofp-actions: Load data from fields in sample action.")
Signed-off-by: Ilya Maximets <[email protected]>
---
 lib/ofp-actions.c    | 2 +-
 tests/ofp-actions.at | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 2a1f5c3c4..fe6a17b6d 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -6489,7 +6489,7 @@ parse_SAMPLE(char *arg, const struct ofpact_parse_params 
*pp)
                 if (os->obs_domain_src.n_bits > 32) {
                     return xasprintf("size of obs_domain_id field (%d) "
                                      "exceeds maximum (32)",
-                                     os->obs_point_src.n_bits);
+                                     os->obs_domain_src.n_bits);
                 }
             }
         } else if (!strcmp(key, "obs_point_id")) {
diff --git a/tests/ofp-actions.at b/tests/ofp-actions.at
index 86aec12e8..8a0504b3c 100644
--- a/tests/ofp-actions.at
+++ b/tests/ofp-actions.at
@@ -1127,6 +1127,8 @@ bad_action 'unroll_xlate' "UNROLL is an internal action 
that shouldn't be used v
 # sample
 bad_action 'sample(probability=0)' 'invalid probability value "0"'
 bad_action 'sample(sampling_port=asdf)' 'asdf: unknown port'
+bad_action 'sample(probability=12345,obs_domain_id=NXM_NX_CT_LABEL[[5..40]])' \
+    'size of obs_domain_id field (36) exceeds maximum (32)'
 bad_action 'sample(probability=12345,obs_point_id=NXM_NX_CT_LABEL[[0..32]])' \
     'size of obs_point_id field (33) exceeds maximum (32)'
 bad_action 'sample(foo=bar)' 'invalid key "foo" in "sample" argument'
-- 
2.45.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to