Signed-off-by: Nithin Raju <[email protected]>
Acked-by: Samuel Ghinet <[email protected]>
---
datapath-windows/ovsext/Netlink/Netlink.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/datapath-windows/ovsext/Netlink/Netlink.c
b/datapath-windows/ovsext/Netlink/Netlink.c
index 1ceb5e3..c286c2f 100644
--- a/datapath-windows/ovsext/Netlink/Netlink.c
+++ b/datapath-windows/ovsext/Netlink/Netlink.c
@@ -806,12 +806,12 @@ NlAttrValidate(const PNL_ATTR nla, const PNL_POLICY
policy)
UINT32 minLen;
UINT32 maxLen;
UINT32 len;
- BOOLEAN ret = FALSE;
+ BOOLEAN ret = TRUE;
if ((policy->type == NL_A_NO_ATTR) ||
(policy->type == NL_A_VAR_LEN)) {
/* Do not validate anything for attributes of type var length */
- ret = TRUE;
+ ret = FALSE;
goto done;
}
@@ -830,6 +830,7 @@ NlAttrValidate(const PNL_ATTR nla, const PNL_POLICY policy)
if (len < minLen || len > maxLen) {
OVS_LOG_WARN("Attribute: %p, len: %d, not in valid range, "
"min: %d, max: %d", nla, len, minLen, maxLen);
+ ret = FALSE;
goto done;
}
@@ -837,11 +838,13 @@ NlAttrValidate(const PNL_ATTR nla, const PNL_POLICY
policy)
if (policy->type == NL_A_STRING) {
if (((PCHAR) nla)[nla->nlaLen - 1]) {
OVS_LOG_WARN("Attributes %p lacks null at the end", nla);
+ ret = FALSE;
goto done;
}
if (memchr(nla + 1, '\0', len - 1) != NULL) {
OVS_LOG_WARN("Attributes %p has bad length", nla);
+ ret = FALSE;
goto done;
}
}
--
1.7.4.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev