Преглед изворни кода

LibC: Fix strncpy() overflow in gethostbyname()

Andreas Kling пре 5 година
родитељ
комит
c1607dc41f
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      Libraries/LibC/netdb.cpp

+ 1 - 1
Libraries/LibC/netdb.cpp

@@ -122,7 +122,7 @@ hostent* gethostbyname(const char* name)
     if (rc <= 0)
     if (rc <= 0)
         return nullptr;
         return nullptr;
 
 
-    strncpy(__gethostbyname_name_buffer, name, strlen(name));
+    strncpy(__gethostbyname_name_buffer, name, sizeof(__gethostbyaddr_name_buffer) - 1);
 
 
     __gethostbyname_buffer.h_name = __gethostbyname_name_buffer;
     __gethostbyname_buffer.h_name = __gethostbyname_name_buffer;
     __gethostbyname_buffer.h_aliases = nullptr;
     __gethostbyname_buffer.h_aliases = nullptr;