diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp index 2ce1fe9f..e1dead43 100644 --- a/src/converter/builtin_converters.cpp +++ b/src/converter/builtin_converters.cpp @@ -304,13 +304,16 @@ namespace static std::wstring extract(PyObject* intermediate) { std::wstring result(::PyObject_Length(intermediate), L' '); - int err = PyUnicode_AsWideChar( - (PyUnicodeObject *)intermediate - , result.size() ? &result[0] : 0 - , result.size()); + if (!result.empty()) + { + int err = PyUnicode_AsWideChar( + (PyUnicodeObject *)intermediate + , &result[0] + , result.size()); - if (err == -1) - throw_error_already_set(); + if (err == -1) + throw_error_already_set(); + } return result; } };