]> OCCT Git - occt.git/commitdiff
Foundation Classes - Host resolving by itself #457
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Sun, 23 Mar 2025 15:52:48 +0000 (15:52 +0000)
committerGitHub <noreply@github.com>
Sun, 23 Mar 2025 15:52:48 +0000 (15:52 +0000)
Fixed issue  when gethostbyname returns a nullptr, because the host can't resolve itself

src/FoundationClasses/TKernel/OSD/OSD_Host.cxx

index ea8b563acffdb1aab34027401c9d1e3cfad0b651..57a263f084235213b8f3c069ff785831b995ca04 100644 (file)
@@ -139,8 +139,13 @@ TCollection_AsciiString OSD_Host::InternetAddress()
   char                    buffer[16];
   TCollection_AsciiString result, host;
 
-  host = HostName();
-  memcpy(&internet_address, gethostbyname(host.ToCString()), sizeof(struct hostent));
+  host                    = HostName();
+  const auto* aHostByName = gethostbyname(host.ToCString());
+  if (aHostByName == nullptr)
+  {
+    aHostByName = gethostbyname("localhost");
+  }
+  memcpy(&internet_address, aHostByName, sizeof(struct hostent));
 
   // Gets each bytes into integers
   a = (unsigned char)internet_address.h_addr_list[0][0];