From c231c8c41d31aa55d4592f8509f73721c4e63f70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Fri, 7 Nov 2025 08:06:29 +0200 Subject: [PATCH] Fix "Unexpected NUL character" errors on Wine. --- platform/windows/os_windows.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 8001e267bb4..588a19b394a 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -2565,9 +2565,10 @@ String OS_Windows::get_system_ca_certificates() { bool success = CryptBinaryToStringA(curr->pbCertEncoded, curr->cbCertEncoded, CRYPT_STRING_BASE64HEADER | CRYPT_STRING_NOCR, nullptr, &size); ERR_CONTINUE(!success); PackedByteArray pba; - pba.resize(size); + pba.resize(size + 1); CryptBinaryToStringA(curr->pbCertEncoded, curr->cbCertEncoded, CRYPT_STRING_BASE64HEADER | CRYPT_STRING_NOCR, (char *)pba.ptrw(), &size); - certs += String::ascii(Span((char *)pba.ptr(), size)); + pba.write[size] = 0; + certs += String::ascii(Span((const char *)pba.ptr(), strlen((const char *)pba.ptr()))); curr = CertEnumCertificatesInStore(cert_store, curr); } CertCloseStore(cert_store, 0);