|
@@ -638,8 +638,20 @@ AddNode_addRefs(UA_Server *server, UA_Session *session, const UA_NodeId *nodeId,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ UA_StatusCode retval;
|
|
|
+
|
|
|
+ if (UA_NodeId_equal(nodeId, parentNodeId)) {
|
|
|
+ UA_LOG_NODEID_WRAP(nodeId, UA_LOG_INFO_SESSION(&server->config.logger, session,
|
|
|
+ "AddNodes: The node %.*s can not have "
|
|
|
+ "itself as parent",
|
|
|
+ (int)nodeIdStr.length, nodeIdStr.data));
|
|
|
+ retval = UA_STATUSCODE_BADINVALIDARGUMENT;
|
|
|
+ goto cleanup;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- UA_StatusCode retval = checkParentReference(server, session, node->nodeClass,
|
|
|
+ retval = checkParentReference(server, session, node->nodeClass,
|
|
|
parentNodeId, referenceTypeId);
|
|
|
if(retval != UA_STATUSCODE_GOOD) {
|
|
|
UA_LOG_NODEID_WRAP(nodeId, UA_LOG_INFO_SESSION(&server->config.logger, session,
|