# HG changeset patch
# User Chris Cannam
# Date 1477661550 -3600
# Node ID 78baaad4a001aa74a9e01473defbc6c31092e3fc
# Parent  51229bd6c24bb56e99aa71d9998525081376fb95
Further check in char conversion

diff -r 51229bd6c24b -r 78baaad4a001 src/helper.cpp
--- a/src/helper.cpp	Fri Oct 28 12:10:54 2016 +0100
+++ b/src/helper.cpp	Fri Oct 28 14:32:30 2016 +0100
@@ -85,8 +85,12 @@
         0, NULL );
     int wn = wcslen(buffer);
     int n = WideCharToMultiByte(CP_UTF8, 0, buffer, wn, 0, 0, 0, 0);
+    if (n < 0) {
+        LocalFree(&buffer);
+        return "Unable to convert error string (internal error)";
+    }
     char *text = new char[n+1];
-    n = WideCharToMultiByte(CP_UTF8, 0, buffer, wn, text, n, 0, 0);
+    (void)WideCharToMultiByte(CP_UTF8, 0, buffer, wn, text, n, 0, 0);
     text[n] = '\0';
     std::string s(text);
     LocalFree(&buffer);