Kaynağa Gözat

Stack: Clear DataChangeFilter to avoid potential memory leaks

Stefan Profanter 5 yıl önce
ebeveyn
işleme
e356aea45a
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5 3
      src/server/ua_subscription_monitoreditem.c

+ 5 - 3
src/server/ua_subscription_monitoreditem.c

@@ -186,10 +186,12 @@ UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *monitoredItem) {
         /* Remove the monitored item from the node queue */
         UA_Server_editNode(server, NULL, &monitoredItem->monitoredNodeId,
                            UA_MonitoredItem_removeNodeEventCallback, monitoredItem);
-        /* Delete the event filter */
-        UA_EventFilter_deleteMembers(&monitoredItem->filter.eventFilter);
-    }
+		UA_EventFilter_clear(&monitoredItem->filter.eventFilter);
+    } else
 #endif /* UA_ENABLE_SUBSCRIPTIONS_EVENTS */
+	{
+		UA_DataChangeFilter_clear(&monitoredItem->filter.dataChangeFilter);
+    }
 
     /* Deregister MonitoredItem in userland */
     if(server->config.monitoredItemRegisterCallback && monitoredItem->registered) {