Explorar o código

View: Return BadNodeIdUnknown if the original node is unknown

Julius Pfrommer %!s(int64=5) %!d(string=hai) anos
pai
achega
d7e54dbd41
Modificáronse 1 ficheiros con 8 adicións e 0 borrados
  1. 8 0
      src/server/ua_services_view.c

+ 8 - 0
src/server/ua_services_view.c

@@ -467,6 +467,14 @@ Operation_Browse(UA_Server *server, UA_Session *session, const struct BrowseOpts
         }
     }
 
+    /* Does the original node exist? */
+    const UA_Node *node = UA_Nodestore_getNode(server->nsCtx, &descr->nodeId);
+    if(!node) {
+        result->statusCode = UA_STATUSCODE_BADNODEIDUNKNOWN;
+        return;
+    }
+    UA_Nodestore_releaseNode(server->nsCtx, node);
+
     /* Create the results array */
     RefResult rr;
     result->statusCode = RefResult_init(&rr, maxRefs);