From 4a7a054f13bee2dea0878f734e9f9a1c989d934b Mon Sep 17 00:00:00 2001 From: pierre Date: Tue, 7 Jun 2011 16:13:28 +0000 Subject: [PATCH] * Avoid using stack memory for argv elements to avoid corruption of help in setup_arguments git-svn-id: trunk@17684 - --- rtl/go32v2/system.pp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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;