summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datapath/conntrack.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/datapath/conntrack.c b/datapath/conntrack.c
index bba9bfe98..b645ab101 100644
--- a/datapath/conntrack.c
+++ b/datapath/conntrack.c
@@ -1356,8 +1356,8 @@ static int parse_ct(const struct nlattr *attr, struct ovs_conntrack_info *info,
nla_for_each_nested(a, attr, rem) {
int type = nla_type(a);
- int maxlen = ovs_ct_attr_lens[type].maxlen;
- int minlen = ovs_ct_attr_lens[type].minlen;
+ int maxlen;
+ int minlen;
if (type > OVS_CT_ATTR_MAX) {
OVS_NLERR(log,
@@ -1365,6 +1365,9 @@ static int parse_ct(const struct nlattr *attr, struct ovs_conntrack_info *info,
type, OVS_CT_ATTR_MAX);
return -EINVAL;
}
+
+ maxlen = ovs_ct_attr_lens[type].maxlen;
+ minlen = ovs_ct_attr_lens[type].minlen;
if (nla_len(a) < minlen || nla_len(a) > maxlen) {
OVS_NLERR(log,
"Conntrack attr type has unexpected length (type=%d, length=%d, expected=%d)",