@@ -58,11 +58,11 @@ } string = [self getMemForNItems: length + 1 ofSize: sizeof(wchar_t)]; - if (mbstowcs(string, str, length) != length) { + if (mbstowcs(string, str, length + 1) != length) { [super free]; return nil; } } } @@ -95,13 +95,13 @@ if ((len = wcstombs(NULL, string, 0)) == (size_t)-1) { /* FIXME: Throw exception */ return NULL; } - str = [self getMemWithSize: len]; + str = [self getMemWithSize: len + 1]; - if (wcstombs(str, string, len) != len) { + if (wcstombs(str, string, len + 1) != len) { /* FIXME: Throw exception */ [self freeMem: str]; return NULL; }