[ovs-dev] [PATCH] datapath-windows: Conntrack move null checks to functions

Alin Serdean aserdean at cloudbasesolutions.com
Thu Dec 8 18:44:50 UTC 2016


Add null checks inside OvsConntrackValidateIcmpPacket,
OvsConntrackValidateTcpPacket to make the functions self-contained.

Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Suggested-by: Yin Lin <linyi at vmware.com>
---
 datapath-windows/ovsext/Conntrack-icmp.c | 4 ++++
 datapath-windows/ovsext/Conntrack-tcp.c  | 6 +++++-
 datapath-windows/ovsext/Conntrack.c      | 4 ++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/datapath-windows/ovsext/Conntrack-icmp.c b/datapath-windows/ovsext/Conntrack-icmp.c
index 7db8e7d..b1b6043 100644
--- a/datapath-windows/ovsext/Conntrack-icmp.c
+++ b/datapath-windows/ovsext/Conntrack-icmp.c
@@ -59,6 +59,10 @@ OvsConntrackUpdateIcmpEntry(OVS_CT_ENTRY* conn_,
 BOOLEAN
 OvsConntrackValidateIcmpPacket(const ICMPHdr *icmp)
 {
+    if (!icmp) {
+        return FALSE;
+    }
+
     return icmp->type == ICMP4_ECHO_REQUEST
            || icmp->type == ICMP4_INFO_REQUEST
            || icmp->type == ICMP4_TIMESTAMP_REQUEST;
diff --git a/datapath-windows/ovsext/Conntrack-tcp.c b/datapath-windows/ovsext/Conntrack-tcp.c
index c7fcfa8..1c46bb0 100644
--- a/datapath-windows/ovsext/Conntrack-tcp.c
+++ b/datapath-windows/ovsext/Conntrack-tcp.c
@@ -457,9 +457,13 @@ OvsConntrackUpdateTcpEntry(OVS_CT_ENTRY* conn_,
 BOOLEAN
 OvsConntrackValidateTcpPacket(const TCPHdr *tcp)
 {
+    if (!tcp) {
+        return FALSE;
+    }
+
     UINT16 tcp_flags = ntohs(tcp->flags);
 
-    if (tcp == NULL || OvsCtInvalidTcpFlags(tcp_flags)) {
+    if (OvsCtInvalidTcpFlags(tcp_flags)) {
         return FALSE;
     }
 
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
index 84c4091..47dba9d 100644
--- a/datapath-windows/ovsext/Conntrack.c
+++ b/datapath-windows/ovsext/Conntrack.c
@@ -199,7 +199,7 @@ OvsCtEntryCreate(PNET_BUFFER_LIST curNbl,
             TCPHdr tcpStorage;
             const TCPHdr *tcp;
             tcp = OvsGetTcp(curNbl, l4Offset, &tcpStorage);
-            if (!tcp || !OvsConntrackValidateTcpPacket(tcp)) {
+            if (!OvsConntrackValidateTcpPacket(tcp)) {
                 goto invalid;
             }
 
@@ -220,7 +220,7 @@ OvsCtEntryCreate(PNET_BUFFER_LIST curNbl,
             ICMPHdr storage;
             const ICMPHdr *icmp;
             icmp = OvsGetIcmp(curNbl, l4Offset, &storage);
-            if (!icmp || !OvsConntrackValidateIcmpPacket(icmp)) {
+            if (!OvsConntrackValidateIcmpPacket(icmp)) {
                 goto invalid;
             }
 
-- 
2.10.2.windows.1


More information about the dev mailing list