|
@@ -64,9 +64,11 @@ register_server_with_discovery_server(UA_Server *server,
|
|
|
/* Copy the discovery urls from the server config and the network layers*/
|
|
|
size_t config_discurls = server->config.applicationDescription.discoveryUrlsSize;
|
|
|
size_t nl_discurls = server->config.networkLayersSize;
|
|
|
- size_t total_discurls = config_discurls * nl_discurls;
|
|
|
+ size_t total_discurls = config_discurls + nl_discurls;
|
|
|
request.server.discoveryUrls = (UA_String*)UA_alloca(sizeof(UA_String) * total_discurls);
|
|
|
- request.server.discoveryUrlsSize = config_discurls + nl_discurls;
|
|
|
+ if (!request.server.discoveryUrls)
|
|
|
+ return UA_STATUSCODE_BADOUTOFMEMORY;
|
|
|
+ request.server.discoveryUrlsSize = total_discurls;
|
|
|
|
|
|
for(size_t i = 0; i < config_discurls; ++i)
|
|
|
request.server.discoveryUrls[i] = server->config.applicationDescription.discoveryUrls[i];
|