From b03bfbbbb764b06b628c29c84f50c5df8154cb84 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 16 Oct 2020 17:58:45 +0200 Subject: [PATCH] VST3: fix utf8 -> utf16 string conversion --- libs/ardour/vst3_host.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/ardour/vst3_host.cc b/libs/ardour/vst3_host.cc index df71687478..4c27281f32 100644 --- a/libs/ardour/vst3_host.cc +++ b/libs/ardour/vst3_host.cc @@ -98,14 +98,15 @@ Steinberg::utf8_to_tchar (Vst::TChar* rv, const char* s, size_t l) { glong len; gunichar2* s16 = g_utf8_to_utf16 (s, -1, NULL, &len, NULL); - if (!s16 || len == 0) { + if (!s16 || len <= 0) { memset (rv, 0, sizeof (Vst::TChar)); return false; } - if (l > 0 && l < len) { - len = l; + if (l > 0 && l <= (size_t) len) { + len = l - 1; } memcpy (rv, s16, len * sizeof (Vst::TChar)); + rv[len] = '\0'; g_free (s16); return true; }