diff --git a/ChangeLog b/ChangeLog index 3bc6fd79a3..7f0acfcc64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Apr 2 11:54:49 2010 NAKAMURA Usaku + + * win32/win32.c (init_env): wrong calculation of the head of setenv + string. [ruby-core:29216] + a patch from Heesob Park in [ruby-core:29218] + Fri Apr 2 08:24:56 2010 Nobuyoshi Nakada * process.c (ruby_setsid): split from proc_setsid. diff --git a/win32/win32.c b/win32/win32.c index 800f0debe4..42fbdb591b 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -456,7 +456,7 @@ init_env(void) #define env wk.val #define set_env_val(vname) do { \ typedef char namesizecheck[numberof(wk.name) < numberof(vname) - 1 ? -1 : 1]; \ - WCHAR *const buf = wk.name + numberof(wk.name) - numberof(vname); \ + WCHAR *const buf = wk.name + numberof(wk.name) - numberof(vname) + 1; \ MEMCPY(buf, vname, WCHAR, numberof(vname) - 1); \ _wputenv(buf); \ } while (0)