datapath-windows: return TRUE on success in NlAttrValidate
authorNithin Raju <nithin@vmware.com>
Fri, 19 Sep 2014 21:30:52 +0000 (14:30 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 19 Sep 2014 21:36:51 +0000 (14:36 -0700)
Signed-off-by: Nithin Raju <nithin@vmware.com>
Acked-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
datapath-windows/ovsext/Netlink/Netlink.c

index 1ceb5e3..c286c2f 100644 (file)
@@ -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;
         }
     }