mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 22:27:57 +02:00
46 lines
911 B
ObjectPascal
46 lines
911 B
ObjectPascal
{ %NEEDEDAFTER }
|
|
program go32v2_crash;
|
|
|
|
const
|
|
MAX_SIZE = 256;
|
|
SIZE_INC = 8;
|
|
|
|
type
|
|
TMemArray = array [0..MAX_SIZE div SIZE_INC] of pointer;
|
|
|
|
var
|
|
i, length_arg2 : longint;
|
|
err :word;
|
|
MemArray : TMemArray;
|
|
|
|
function Size(i: longint) : longint;
|
|
begin
|
|
Size:=1+SIZE_INC*i;
|
|
end;
|
|
|
|
begin
|
|
FillChar(MemArray,Sizeof(MemArray),#0);
|
|
for i:=0 to MAX_SIZE div SIZE_INC do
|
|
begin
|
|
GetMem(MemArray[i],Size(i));
|
|
end;
|
|
for i:=1 to MAX_SIZE div SIZE_INC do
|
|
begin
|
|
FreeMem(MemArray[i],Size(i));
|
|
end;
|
|
i:=length(paramstr(1));
|
|
Writeln(stderr,'Everthing is fine, arg1 length=',i);
|
|
val(paramstr(1),length_arg2,err);
|
|
if err=0 then
|
|
begin
|
|
i:=length(paramstr(2));
|
|
if (i<>length_arg2) then
|
|
begin
|
|
Writeln('Length of arg2 is ',i,' not ',length_arg2);
|
|
halt(1);
|
|
end
|
|
else
|
|
Writeln('length of arg2 OK: ',length_arg2);
|
|
end;
|
|
end.
|