From 26a07c61f10da01cb8266b72452c235edadfa231 Mon Sep 17 00:00:00 2001 From: Anairkoen Schno Date: Wed, 19 May 2021 18:22:16 -0500 Subject: [PATCH] Null terminate multibyte strings --- Doorstop/Proxy/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Doorstop/Proxy/main.c b/Doorstop/Proxy/main.c index e5bdea1b..e07fe86b 100644 --- a/Doorstop/Proxy/main.c +++ b/Doorstop/Proxy/main.c @@ -195,8 +195,9 @@ void *ownMonoJitInitVersion(const char *root_domain_name, const char *runtime_ve wchar_t* dll_path_w; // self path size_t dll_path_len = get_module_path((HINSTANCE)&__ImageBase, &dll_path_w, NULL, 0); size_t multibyte_path_len = WideCharToMultiByte(CP_UTF8, 0, dll_path_w, dll_path_len, NULL, 0, NULL, NULL); - char* self_dll_path = memalloc(multibyte_path_len); - WideCharToMultiByte(CP_UTF8, 0, dll_path_w, dll_path_len, self_dll_path, multibyte_path_len, NULL, NULL); + char* self_dll_path = memalloc(multibyte_path_len + 1); + WideCharToMultiByte(CP_UTF8, 0, dll_path_w, dll_path_len, self_dll_path, multibyte_path_len + 1, NULL, NULL); + self_dll_path[multibyte_path_len] = 0; mono_dllmap_insert(NULL, "i:bsipa-doorstop", NULL, self_dll_path, NULL); // remap `bsipa-doorstop` to this assembly