+ Range check error fix

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@225 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2007-07-25 16:37:32 +00:00
parent 02efb4cb8a
commit 8f8b770f34
4 changed files with 65 additions and 162 deletions

View File

@ -4065,9 +4065,9 @@ end;
class function TDateRemotable.ParseDate(const ABuffer: string): TDateTime; class function TDateRemotable.ParseDate(const ABuffer: string): TDateTime;
var var
buffer : string; buffer : string;
bufferPos, bufferLen : Integer; bufferPos, bufferLen : PtrUInt;
function ReadInt() : Integer; function ReadInt() : PtrUInt;
var var
neg : Boolean; neg : Boolean;
s : shortstring; s : shortstring;
@ -4105,9 +4105,9 @@ begin
//'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)? //'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?
buffer := Trim(ABuffer); buffer := Trim(ABuffer);
bufferPos := 0; bufferPos := 1;
bufferLen := Length(buffer); bufferLen := Length(buffer);
if ( bufferLen > 0 ) then begin
y := ReadInt(); y := ReadInt();
Inc(bufferPos); Inc(bufferPos);
@ -4126,6 +4126,9 @@ begin
ss := ReadInt(); ss := ReadInt();
Result := EncodeDate(y,m,d) + EncodeTime(hh,mn,ss,0); Result := EncodeDate(y,m,d) + EncodeTime(hh,mn,ss,0);
end else begin
Result := 0;
end;
end; end;
{ TBaseDateRemotable } { TBaseDateRemotable }

View File

@ -539,7 +539,10 @@ Var
i,c : Integer; i,c : Integer;
begin begin
AResAtt := ''; AResAtt := '';
If Assigned(ANode) And Assigned(ANode.Attributes) Then Begin if Assigned(ANode) and
Assigned(ANode.Attributes) and
( ANode.Attributes.Length > 0 )
then begin
c := Pred(ANode.Attributes.Length); c := Pred(ANode.Attributes.Length);
For i := 0 To c Do Begin For i := 0 To c Do Begin
If AnsiSameText(AAttValue,ANode.Attributes.Item[i].NodeValue) Then Begin If AnsiSameText(AAttValue,ANode.Attributes.Item[i].NodeValue) Then Begin
@ -548,7 +551,7 @@ begin
Exit; Exit;
End; End;
End; End;
End; end;
Result := False; Result := False;
end; end;

View File

@ -11,6 +11,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
} }
{$INCLUDE wst_global.inc} {$INCLUDE wst_global.inc}
{$RANGECHECKS OFF}
unit binary_streamer; unit binary_streamer;
interface interface

View File

@ -7,7 +7,7 @@
<MainUnit Value="0"/> <MainUnit Value="0"/>
<IconPath Value="./"/> <IconPath Value="./"/>
<TargetFileExt Value=".exe"/> <TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="3"/> <ActiveEditorIndexAtStart Value="0"/>
</General> </General>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
@ -42,7 +42,7 @@
<UnitName Value="testformatter_unit"/> <UnitName Value="testformatter_unit"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="6"/> <EditorIndex Value="4"/>
<UsageCount Value="200"/> <UsageCount Value="200"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit1> </Unit1>
@ -74,8 +74,8 @@
<Filename Value="..\..\base_service_intf.pas"/> <Filename Value="..\..\base_service_intf.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="base_service_intf"/> <UnitName Value="base_service_intf"/>
<CursorPos X="1" Y="1"/> <CursorPos X="17" Y="4108"/>
<TopLine Value="1"/> <TopLine Value="4060"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="200"/> <UsageCount Value="200"/>
<Bookmarks Count="2"> <Bookmarks Count="2">
@ -88,8 +88,8 @@
<Filename Value="..\..\base_soap_formatter.pas"/> <Filename Value="..\..\base_soap_formatter.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="base_soap_formatter"/> <UnitName Value="base_soap_formatter"/>
<CursorPos X="1" Y="1"/> <CursorPos X="3" Y="545"/>
<TopLine Value="1"/> <TopLine Value="528"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<UsageCount Value="200"/> <UsageCount Value="200"/>
<Loaded Value="True"/> <Loaded Value="True"/>
@ -106,12 +106,14 @@
<Filename Value="..\..\binary_streamer.pas"/> <Filename Value="..\..\binary_streamer.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="binary_streamer"/> <UnitName Value="binary_streamer"/>
<CursorPos X="26" Y="13"/> <CursorPos X="14" Y="14"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="9"/>
<UsageCount Value="200"/> <UsageCount Value="200"/>
<Bookmarks Count="1"> <Bookmarks Count="1">
<Item0 X="38" Y="489" ID="2"/> <Item0 X="38" Y="490" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="..\..\server_binary_formatter.pas"/> <Filename Value="..\..\server_binary_formatter.pas"/>
@ -135,7 +137,7 @@
<UnitName Value="testmetadata_unit"/> <UnitName Value="testmetadata_unit"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="9"/> <EditorIndex Value="6"/>
<UsageCount Value="202"/> <UsageCount Value="202"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit11> </Unit11>
@ -165,7 +167,7 @@
<UnitName Value="metadata_wsdl"/> <UnitName Value="metadata_wsdl"/>
<CursorPos X="44" Y="21"/> <CursorPos X="44" Y="21"/>
<TopLine Value="209"/> <TopLine Value="209"/>
<EditorIndex Value="8"/> <EditorIndex Value="5"/>
<UsageCount Value="206"/> <UsageCount Value="206"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit14> </Unit14>
@ -186,9 +188,9 @@
<Filename Value="..\..\server_service_intf.pas"/> <Filename Value="..\..\server_service_intf.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="server_service_intf"/> <UnitName Value="server_service_intf"/>
<CursorPos X="27" Y="19"/> <CursorPos X="54" Y="19"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="4"/> <EditorIndex Value="2"/>
<UsageCount Value="203"/> <UsageCount Value="203"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit17> </Unit17>
@ -279,7 +281,7 @@
<UnitName Value="test_parserdef"/> <UnitName Value="test_parserdef"/>
<CursorPos X="93" Y="76"/> <CursorPos X="93" Y="76"/>
<TopLine Value="11"/> <TopLine Value="11"/>
<UsageCount Value="170"/> <UsageCount Value="172"/>
</Unit30> </Unit30>
<Unit31> <Unit31>
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/> <Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/>
@ -319,7 +321,7 @@
<UnitName Value="base_xmlrpc_formatter"/> <UnitName Value="base_xmlrpc_formatter"/>
<CursorPos X="26" Y="13"/> <CursorPos X="26" Y="13"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="108"/> <UsageCount Value="110"/>
</Unit36> </Unit36>
<Unit37> <Unit37>
<Filename Value="..\..\ws_helper\pscanner.pp"/> <Filename Value="..\..\ws_helper\pscanner.pp"/>
@ -392,8 +394,8 @@
<Unit47> <Unit47>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/> <Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/> <UnitName Value="DOM"/>
<CursorPos X="19" Y="328"/> <CursorPos X="14" Y="351"/>
<TopLine Value="313"/> <TopLine Value="336"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit47> </Unit47>
<Unit48> <Unit48>
@ -441,7 +443,7 @@
<UnitName Value="wst_fpc_xml"/> <UnitName Value="wst_fpc_xml"/>
<CursorPos X="8" Y="38"/> <CursorPos X="8" Y="38"/>
<TopLine Value="11"/> <TopLine Value="11"/>
<UsageCount Value="54"/> <UsageCount Value="56"/>
</Unit54> </Unit54>
<Unit55> <Unit55>
<Filename Value="..\..\wst_global.inc"/> <Filename Value="..\..\wst_global.inc"/>
@ -461,9 +463,9 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="test_utilities"/> <UnitName Value="test_utilities"/>
<CursorPos X="29" Y="43"/> <CursorPos X="29" Y="43"/>
<TopLine Value="20"/> <TopLine Value="3"/>
<EditorIndex Value="11"/> <EditorIndex Value="8"/>
<UsageCount Value="45"/> <UsageCount Value="47"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit57> </Unit57>
<Unit58> <Unit58>
@ -471,8 +473,8 @@
<UnitName Value="fpcunit"/> <UnitName Value="fpcunit"/>
<CursorPos X="21" Y="99"/> <CursorPos X="21" Y="99"/>
<TopLine Value="84"/> <TopLine Value="84"/>
<EditorIndex Value="12"/> <EditorIndex Value="10"/>
<UsageCount Value="14"/> <UsageCount Value="15"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit58> </Unit58>
<Unit59> <Unit59>
@ -480,8 +482,8 @@
<UnitName Value="testregistry"/> <UnitName Value="testregistry"/>
<CursorPos X="39" Y="27"/> <CursorPos X="39" Y="27"/>
<TopLine Value="17"/> <TopLine Value="17"/>
<EditorIndex Value="10"/> <EditorIndex Value="7"/>
<UsageCount Value="14"/> <UsageCount Value="15"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit59> </Unit59>
<Unit60> <Unit60>
@ -495,157 +497,51 @@
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/> <Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="11" Y="49"/> <CursorPos X="11" Y="49"/>
<TopLine Value="47"/> <TopLine Value="47"/>
<EditorIndex Value="7"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit61> </Unit61>
<Unit62> <Unit62>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/> <Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/> <UnitName Value="typinfo"/>
<CursorPos X="79" Y="218"/> <CursorPos X="79" Y="218"/>
<TopLine Value="203"/> <TopLine Value="203"/>
<EditorIndex Value="5"/> <EditorIndex Value="3"/>
<UsageCount Value="11"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit62> </Unit62>
<Unit63> <Unit63>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/> <Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="89" Y="122"/> <CursorPos X="89" Y="122"/>
<TopLine Value="106"/> <TopLine Value="106"/>
<EditorIndex Value="2"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit63> </Unit63>
<Unit64> <Unit64>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysinth.inc"/> <Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysinth.inc"/>
<CursorPos X="24" Y="63"/> <CursorPos X="24" Y="63"/>
<TopLine Value="46"/> <TopLine Value="46"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit64> </Unit64>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="5" HistoryIndex="4">
<Position1> <Position1>
<Filename Value="..\..\base_soap_formatter.pas"/> <Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="19" Column="26" TopLine="7"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/> <Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="543" Column="36" TopLine="528"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/> <Filename Value="..\..\binary_streamer.pas"/>
<Caret Line="40" Column="59" TopLine="25"/> <Caret Line="15" Column="30" TopLine="1"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/> <Filename Value="..\..\binary_streamer.pas"/>
<Caret Line="125" Column="20" TopLine="110"/> <Caret Line="261" Column="24" TopLine="238"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/> <Filename Value="..\..\base_service_intf.pas"/>
<Caret Line="126" Column="51" TopLine="111"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position5> </Position5>
<Position6>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="216" Column="70" TopLine="201"/>
</Position6>
<Position7>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="217" Column="71" TopLine="202"/>
</Position7>
<Position8>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="218" Column="77" TopLine="203"/>
</Position8>
<Position9>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="219" Column="77" TopLine="204"/>
</Position9>
<Position10>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="261" Column="19" TopLine="246"/>
</Position10>
<Position11>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position11>
<Position12>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="40" Column="67" TopLine="18"/>
</Position12>
<Position13>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="127" Column="20" TopLine="105"/>
</Position13>
<Position14>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="133" Column="84" TopLine="106"/>
</Position14>
<Position15>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="790" Column="12" TopLine="773"/>
</Position15>
<Position16>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="857" Column="50" TopLine="845"/>
</Position16>
<Position17>
<Filename Value="..\..\server_service_intf.pas"/>
<Caret Line="19" Column="27" TopLine="1"/>
</Position17>
<Position18>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position18>
<Position19>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="19" Column="26" TopLine="7"/>
</Position19>
<Position20>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="848" Column="22" TopLine="833"/>
</Position20>
<Position21>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="170" Column="86" TopLine="153"/>
</Position21>
<Position22>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="21" Column="67" TopLine="19"/>
</Position22>
<Position23>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="31" Column="16" TopLine="16"/>
</Position23>
<Position24>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="121" Column="16" TopLine="106"/>
</Position24>
<Position25>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="122" Column="77" TopLine="107"/>
</Position25>
<Position26>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="1586" Column="24" TopLine="1579"/>
</Position26>
<Position27>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="234" Column="60" TopLine="221"/>
</Position27>
<Position28>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position28>
<Position29>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="31" Column="16" TopLine="16"/>
</Position29>
<Position30>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<Caret Line="122" Column="89" TopLine="106"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>