diff --git a/rtl/go32v2/system.pp b/rtl/go32v2/system.pp index fac818ebff..6dbcd85b1b 100644 --- a/rtl/go32v2/system.pp +++ b/rtl/go32v2/system.pp @@ -391,9 +391,20 @@ begin proxy_s[13]:=#0; proxy_s[18]:=#0; proxy_s[23]:=#0; + { Do not set argv[2..4] to PROXY_S + values, because PROXY_S is on stack, + while ARGV[2..4] need to be on heap. + PM 2011-06-08 argv[2]:=@proxy_s[9]; argv[3]:=@proxy_s[14]; - argv[4]:=@proxy_s[19]; + argv[4]:=@proxy_s[19];} + allocarg(2,4); + strcopy(argv[2], @proxy_s[9]); + allocarg(3,4); + strcopy(argv[3], @proxy_s[14]); + allocarg(4,4); + strcopy(argv[4], @proxy_s[19]); + useproxy:=true; break; end;