Переглянути джерело

LibC: Automatically append null terminator in vswprintf

safarp 3 роки тому
батько
коміт
b0b8d14a2c
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      Userland/Libraries/LibC/wstdio.cpp

+ 4 - 0
Userland/Libraries/LibC/wstdio.cpp

@@ -207,6 +207,10 @@ int vswprintf(wchar_t* __restrict wcs, size_t max_length, wchar_t const* __restr
         ++length_so_far;
         ++length_so_far;
     },
     },
         wcs, fmt, args);
         wcs, fmt, args);
+    if (length_so_far < max_length)
+        wcs[length_so_far] = L'\0';
+    else
+        wcs[max_length - 1] = L'\0';
     return static_cast<int>(length_so_far);
     return static_cast<int>(length_so_far);
 }
 }