[ovs-dev] [PATCH v1 04/10] datapath-windows/Netlink: Allow support for NESTED Attributes in NlAttrValidate

Ankur Sharma ankursharma at vmware.com
Wed Sep 24 07:15:38 UTC 2014


---
 datapath-windows/ovsext/Netlink/Netlink.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/datapath-windows/ovsext/Netlink/Netlink.c b/datapath-windows/ovsext/Netlink/Netlink.c
index 5f07451..5c74ec0 100644
--- a/datapath-windows/ovsext/Netlink/Netlink.c
+++ b/datapath-windows/ovsext/Netlink/Netlink.c
@@ -870,12 +870,13 @@ NlAttrValidate(const PNL_ATTR nla, const PNL_POLICY policy)
     UINT32 minLen;
     UINT32 maxLen;
     UINT32 len;
-    BOOLEAN ret = TRUE;
+    BOOLEAN ret = FALSE;
 
     if ((policy->type == NL_A_NO_ATTR) ||
-        (policy->type == NL_A_VAR_LEN)) {
+        (policy->type == NL_A_VAR_LEN) ||
+        (policy->type == NL_A_NESTED)) {
         /* Do not validate anything for attributes of type var length */
-        ret = FALSE;
+        ret = TRUE;
         goto done;
     }
 
@@ -894,7 +895,6 @@ 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;
     }
 
@@ -902,17 +902,17 @@ 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;
         }
     }
 
+    ret = TRUE;
+
 done:
     return ret;
 }
-- 
1.9.1




More information about the dev mailing list