Преглед на файлове

Fixed invalid call to instantiation callback _after_ the added object ID had been deleted.

ichrispa преди 8 години
родител
ревизия
9e7b824fae
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      src/server/ua_services_nodemanagement.c

+ 3 - 2
src/server/ua_services_nodemanagement.c

@@ -78,11 +78,12 @@ copyExistingVariable(UA_Server *server, UA_Session *session, const UA_NodeId *va
     }
     retval = copyChildNodesToNode(server, session, &node->nodeId,
                                   &res.addedNodeId, instantiationCallback);
-    UA_NodeId_deleteMembers(&res.addedNodeId);
+    
     if(retval == UA_STATUSCODE_GOOD && instantiationCallback)
         instantiationCallback->method(res.addedNodeId, node->nodeId,
                                       instantiationCallback->handle);
-
+    
+    UA_NodeId_deleteMembers(&res.addedNodeId);
  cleanup:
     if(value.hasValue && value.value.storageType == UA_VARIANT_DATA)
         UA_Variant_deleteMembers(&value.value);