mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 09:09:19 +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);
|
constructor tarraydef.create_from_pointer(def:tdef);
|
||||||
begin
|
begin
|
||||||
{ use -1 so that the elecount will not overflow }
|
{ 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];
|
arrayoptions:=[ado_IsConvertedPointer];
|
||||||
setelementdef(def);
|
setelementdef(def);
|
||||||
end;
|
end;
|
||||||
|
@ -1020,7 +1020,7 @@ implementation
|
|||||||
if l>high(asizeint)-sym.fieldoffset then
|
if l>high(asizeint)-sym.fieldoffset then
|
||||||
begin
|
begin
|
||||||
Message(sym_e_segment_too_large);
|
Message(sym_e_segment_too_large);
|
||||||
_datasize:=high(aint);
|
_datasize:=high(asizeint);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
_datasize:=sym.fieldoffset+l;
|
_datasize:=sym.fieldoffset+l;
|
||||||
@ -1194,8 +1194,8 @@ implementation
|
|||||||
if bitsize>high(asizeint)-databitsize then
|
if bitsize>high(asizeint)-databitsize then
|
||||||
begin
|
begin
|
||||||
Message(sym_e_segment_too_large);
|
Message(sym_e_segment_too_large);
|
||||||
_datasize:=high(aint);
|
_datasize:=high(asizeint);
|
||||||
databitsize:=high(aint);
|
databitsize:=high(asizeint);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -1210,7 +1210,7 @@ implementation
|
|||||||
if tfieldvarsym(sym).getsize>high(asizeint)-_datasize then
|
if tfieldvarsym(sym).getsize>high(asizeint)-_datasize then
|
||||||
begin
|
begin
|
||||||
Message(sym_e_segment_too_large);
|
Message(sym_e_segment_too_large);
|
||||||
_datasize:=high(aint);
|
_datasize:=high(asizeint);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
_datasize:=tfieldvarsym(sym).fieldoffset+offset;
|
_datasize:=tfieldvarsym(sym).fieldoffset+offset;
|
||||||
|
Loading…
Reference in New Issue
Block a user