Explorar o código

Fix: mdns record when strlen(hostname) + strlen(servername) is 61 or 62

Christian von Arnim %!s(int64=5) %!d(string=hai) anos
pai
achega
5ad7df7a17
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      src/server/ua_services_discovery_multicast.c

+ 2 - 2
src/server/ua_services_discovery_multicast.c

@@ -274,13 +274,13 @@ createFullServiceDomain(char *outServiceDomain, size_t maxLen,
 
 
     size_t offset = 0;
     size_t offset = 0;
     if (hostnameLen > 0) {
     if (hostnameLen > 0) {
-        UA_snprintf(outServiceDomain, maxLen - 1, "%.*s-%.*s",
+        UA_snprintf(outServiceDomain, maxLen + 1, "%.*s-%.*s",
                     (int) servernameLen, (char *) servername->data,
                     (int) servernameLen, (char *) servername->data,
                     (int) hostnameLen, (char *) hostname->data);
                     (int) hostnameLen, (char *) hostname->data);
         offset = servernameLen + hostnameLen + 1;
         offset = servernameLen + hostnameLen + 1;
     }
     }
     else {
     else {
-        UA_snprintf(outServiceDomain, maxLen - 1, "%.*s",
+        UA_snprintf(outServiceDomain, maxLen + 1, "%.*s",
                     (int) servernameLen, (char *) servername->data);
                     (int) servernameLen, (char *) servername->data);
         offset = servernameLen;
         offset = servernameLen;
     }
     }