ソースを参照

View: Return BadNodeIdUnknown if the original node is unknown

Julius Pfrommer 5 年 前
コミット
d7e54dbd41
共有1 個のファイルを変更した8 個の追加0 個の削除を含む
  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);