瀏覽代碼

update UA_Server_addMethodNode

make UA_Server_addMethodNode more robust with createdNodeId allocation
StalderT 9 年之前
父節點
當前提交
0c97516c88
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/server/ua_server_addressspace.c

+ 6 - 0
src/server/ua_server_addressspace.c

@@ -424,6 +424,8 @@ UA_Server_addMethodNode(UA_Server *server, const UA_QualifiedName browseName, UA
                                UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY));
     if(addRes.statusCode != UA_STATUSCODE_GOOD) {
         UA_ExpandedNodeId_deleteMembers(&methodExpandedNodeId);
+        if(createdNodeId != UA_NULL)
+            UA_NodeId_deleteMembers(createdNodeId);    	
         // TODO Remove node
         return addRes.statusCode;
     }
@@ -443,8 +445,12 @@ UA_Server_addMethodNode(UA_Server *server, const UA_QualifiedName browseName, UA
                                UA_NODEID_NUMERIC(0, UA_NS0ID_HASPROPERTY));
     UA_ExpandedNodeId_deleteMembers(&methodExpandedNodeId);
     if(addRes.statusCode != UA_STATUSCODE_GOOD)
+    {
+        if(createdNodeId != UA_NULL)
+            UA_NodeId_deleteMembers(createdNodeId);    	
         // TODO Remove node
         retval = addRes.statusCode;
+    }
     UA_AddNodesResult_deleteMembers(&addRes);
     return retval;
 }