X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=datapath-windows%2Fovsext%2FFlow.c;h=69b546a587cee662d2844cc614fec300109dfa82;hb=06d25d3daae874a04a96aad9e576cc4dc9ee9d25;hp=b93f475dff83679c14d9d96ad1cea1b3114d303a;hpb=cddc232f432e186fc58ab638882ac740ddfddfb6;p=cascardo%2Fovs.git diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index b93f475df..69b546a58 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -1513,6 +1513,11 @@ OvsDeleteFlowTable(OVS_DATAPATH *datapath) DeleteAllFlows(datapath); OvsFreeMemoryWithTag(datapath->flowTable, OVS_FLOW_POOL_TAG); datapath->flowTable = NULL; + + if (datapath->lock == NULL) { + return NDIS_STATUS_SUCCESS; + } + NdisFreeRWLock(datapath->lock); return NDIS_STATUS_SUCCESS; @@ -1544,6 +1549,10 @@ OvsAllocateFlowTable(OVS_DATAPATH *datapath, } datapath->lock = NdisAllocateRWLock(switchContext->NdisFilterHandle); + if (!datapath->lock) { + return NDIS_STATUS_RESOURCES; + } + return NDIS_STATUS_SUCCESS; }