mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-31 06:22:35 +02:00
* fixed range errors in case asizeint<>aint
git-svn-id: branches/jvmbackend@18411 -
This commit is contained in:
parent
bf0b8503c9
commit
87048f0cc8
@ -2584,7 +2584,7 @@ implementation
|
||||
constructor tarraydef.create_from_pointer(def:tdef);
|
||||
begin
|
||||
{ use -1 so that the elecount will not overflow }
|
||||
self.create(0,high(aint)-1,s32inttype);
|
||||
self.create(0,high(asizeint)-1,s32inttype);
|
||||
arrayoptions:=[ado_IsConvertedPointer];
|
||||
setelementdef(def);
|
||||
end;
|
||||
|
@ -1020,7 +1020,7 @@ implementation
|
||||
if l>high(asizeint)-sym.fieldoffset then
|
||||
begin
|
||||
Message(sym_e_segment_too_large);
|
||||
_datasize:=high(aint);
|
||||
_datasize:=high(asizeint);
|
||||
end
|
||||
else
|
||||
_datasize:=sym.fieldoffset+l;
|
||||
@ -1194,8 +1194,8 @@ implementation
|
||||
if bitsize>high(asizeint)-databitsize then
|
||||
begin
|
||||
Message(sym_e_segment_too_large);
|
||||
_datasize:=high(aint);
|
||||
databitsize:=high(aint);
|
||||
_datasize:=high(asizeint);
|
||||
databitsize:=high(asizeint);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -1210,7 +1210,7 @@ implementation
|
||||
if tfieldvarsym(sym).getsize>high(asizeint)-_datasize then
|
||||
begin
|
||||
Message(sym_e_segment_too_large);
|
||||
_datasize:=high(aint);
|
||||
_datasize:=high(asizeint);
|
||||
end
|
||||
else
|
||||
_datasize:=tfieldvarsym(sym).fieldoffset+offset;
|
||||
|
Loading…
Reference in New Issue
Block a user