瀏覽代碼

Kernel: Remove strcpy()

These are not called in the kernel or by libstdc++ anyway.

Remove the tempting function, and prevent future overflows.
Ben Wiederhake 4 年之前
父節點
當前提交
d5b7c28a5e
共有 2 個文件被更改,包括 0 次插入11 次删除
  1. 0 9
      Kernel/StdLib.cpp
  2. 0 2
      Kernel/StdLib.h

+ 0 - 9
Kernel/StdLib.cpp

@@ -97,15 +97,6 @@ const void* memmem(const void* haystack, size_t haystack_length, const void* nee
     return AK::memmem(haystack, haystack_length, needle, needle_length);
     return AK::memmem(haystack, haystack_length, needle, needle_length);
 }
 }
 
 
-char* strcpy(char* dest, const char* src)
-{
-    auto* dest_ptr = dest;
-    auto* src_ptr = src;
-    while ((*dest_ptr++ = *src_ptr++) != '\0')
-        ;
-    return dest;
-}
-
 void memset_user(void* dest_ptr, int c, size_t n)
 void memset_user(void* dest_ptr, int c, size_t n)
 {
 {
     ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n));
     ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n));

+ 0 - 2
Kernel/StdLib.h

@@ -42,7 +42,6 @@ void copy_from_user(void*, const void*, size_t);
 void memset_user(void*, int, size_t);
 void memset_user(void*, int, size_t);
 
 
 void* memcpy(void*, const void*, size_t);
 void* memcpy(void*, const void*, size_t);
-char* strcpy(char*, const char*);
 int strncmp(const char* s1, const char* s2, size_t n);
 int strncmp(const char* s1, const char* s2, size_t n);
 char* strstr(const char* haystack, const char* needle);
 char* strstr(const char* haystack, const char* needle);
 int strcmp(char const*, const char*);
 int strcmp(char const*, const char*);
@@ -69,7 +68,6 @@ inline void copy_to_user(T* dest, const T* src)
     copy_to_user(dest, src, sizeof(T));
     copy_to_user(dest, src, sizeof(T));
 }
 }
 
 
-
 template<typename T>
 template<typename T>
 inline void copy_from_user(T* dest, Userspace<const T*> src)
 inline void copy_from_user(T* dest, Userspace<const T*> src)
 {
 {