--- a/Win32OperatingSystem.st Thu Mar 03 14:43:59 2016 +0100
+++ b/Win32OperatingSystem.st Thu Mar 03 14:49:04 2016 +0100
@@ -7895,21 +7895,21 @@
if (__isStringLike(aStringOrSymbol)) {
l = __stringSize(aStringOrSymbol);
- if (l > sizeof(_varName)-1)
+ if (l > ENV_BUFSIZE-1)
goto badArgument;
for (i=0; i<l; i++) {
_varName[i] = __stringVal(aStringOrSymbol)[i];
}
} else if (__isUnicode16String(aStringOrSymbol)) {
l = __unicode16StringSize(aStringOrSymbol);
- if (l > sizeof(_varName)-1)
+ if (l > ENV_BUFSIZE-1)
goto badArgument;
for (i=0; i<l; i++) {
_varName[i] = __unicode16StringVal(aStringOrSymbol)[i];
}
- } else
+ } else {
goto badArgument;
-
+ }
_varName[l] = 0;
nNeeded = GetEnvironmentVariableW(_varName, buff, ENV_BUFSIZE);