diff mbox

[ovs-dev,40/40] datapath-windows: Fix static analysis warnings around ovsInstanceListLock

Message ID 20170714044033.15196-41-aserdean@cloudbasesolutions.com
State Accepted
Headers show

Commit Message

Alin Serdean July 14, 2017, 4:40 a.m. UTC
Check for return value when trying to initialize ovsInstanceListLock.

Also return the status back to caller of `OvsInitIpHelper`.

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
---
 datapath-windows/ovsext/IpHelper.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/datapath-windows/ovsext/IpHelper.c b/datapath-windows/ovsext/IpHelper.c
index 8ade997..791de13 100644
--- a/datapath-windows/ovsext/IpHelper.c
+++ b/datapath-windows/ovsext/IpHelper.c
@@ -1989,6 +1989,12 @@  OvsInitIpHelper(NDIS_HANDLE ndisFilterHandle)
     HANDLE threadHandle;
     UINT32 i;
 
+    status = ExInitializeResourceLite(&ovsInstanceListLock);
+    if (status != NDIS_STATUS_SUCCESS) {
+        return status;
+    }
+    InitializeListHead(&ovsInstanceList);
+
     ovsFwdHashTable = (PLIST_ENTRY)OvsAllocateMemoryWithTag(
         sizeof(LIST_ENTRY) * OVS_FWD_HASH_TABLE_SIZE, OVS_IPHELPER_POOL_TAG);
 
@@ -2009,9 +2015,6 @@  OvsInitIpHelper(NDIS_HANDLE ndisFilterHandle)
     ipRouteNotificationHandle = NULL;
     unicastIPNotificationHandle = NULL;
 
-    ExInitializeResourceLite(&ovsInstanceListLock);
-    InitializeListHead(&ovsInstanceList);
-
     if (ovsFwdHashTable == NULL ||
         ovsRouteHashTable == NULL ||
         ovsNeighHashTable == NULL ||
@@ -2073,6 +2076,7 @@  init_cleanup:
         }
         ExDeleteResourceLite(&ovsInstanceListLock);
         NdisFreeSpinLock(&ovsIpHelperLock);
+        return status;
     }
     return STATUS_SUCCESS;
 }