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

View File

@ -539,7 +539,10 @@ Var
i,c : Integer;
begin
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);
For i := 0 To c Do Begin
If AnsiSameText(AAttValue,ANode.Attributes.Item[i].NodeValue) Then Begin
@ -548,7 +551,7 @@ begin
Exit;
End;
End;
End;
end;
Result := False;
end;

View File

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

View File

@ -7,7 +7,7 @@
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="3"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<PublishOptions>
<Version Value="2"/>
@ -42,7 +42,7 @@
<UnitName Value="testformatter_unit"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="6"/>
<EditorIndex Value="4"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit1>
@ -74,8 +74,8 @@
<Filename Value="..\..\base_service_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_service_intf"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<CursorPos X="17" Y="4108"/>
<TopLine Value="4060"/>
<EditorIndex Value="0"/>
<UsageCount Value="200"/>
<Bookmarks Count="2">
@ -88,8 +88,8 @@
<Filename Value="..\..\base_soap_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_soap_formatter"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<CursorPos X="3" Y="545"/>
<TopLine Value="528"/>
<EditorIndex Value="1"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
@ -106,12 +106,14 @@
<Filename Value="..\..\binary_streamer.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="binary_streamer"/>
<CursorPos X="26" Y="13"/>
<CursorPos X="14" Y="14"/>
<TopLine Value="1"/>
<EditorIndex Value="9"/>
<UsageCount Value="200"/>
<Bookmarks Count="1">
<Item0 X="38" Y="489" ID="2"/>
<Item0 X="38" Y="490" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit8>
<Unit9>
<Filename Value="..\..\server_binary_formatter.pas"/>
@ -135,7 +137,7 @@
<UnitName Value="testmetadata_unit"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="9"/>
<EditorIndex Value="6"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit11>
@ -165,7 +167,7 @@
<UnitName Value="metadata_wsdl"/>
<CursorPos X="44" Y="21"/>
<TopLine Value="209"/>
<EditorIndex Value="8"/>
<EditorIndex Value="5"/>
<UsageCount Value="206"/>
<Loaded Value="True"/>
</Unit14>
@ -186,9 +188,9 @@
<Filename Value="..\..\server_service_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="server_service_intf"/>
<CursorPos X="27" Y="19"/>
<CursorPos X="54" Y="19"/>
<TopLine Value="1"/>
<EditorIndex Value="4"/>
<EditorIndex Value="2"/>
<UsageCount Value="203"/>
<Loaded Value="True"/>
</Unit17>
@ -279,7 +281,7 @@
<UnitName Value="test_parserdef"/>
<CursorPos X="93" Y="76"/>
<TopLine Value="11"/>
<UsageCount Value="170"/>
<UsageCount Value="172"/>
</Unit30>
<Unit31>
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/>
@ -319,7 +321,7 @@
<UnitName Value="base_xmlrpc_formatter"/>
<CursorPos X="26" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="108"/>
<UsageCount Value="110"/>
</Unit36>
<Unit37>
<Filename Value="..\..\ws_helper\pscanner.pp"/>
@ -392,8 +394,8 @@
<Unit47>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="19" Y="328"/>
<TopLine Value="313"/>
<CursorPos X="14" Y="351"/>
<TopLine Value="336"/>
<UsageCount Value="10"/>
</Unit47>
<Unit48>
@ -441,7 +443,7 @@
<UnitName Value="wst_fpc_xml"/>
<CursorPos X="8" Y="38"/>
<TopLine Value="11"/>
<UsageCount Value="54"/>
<UsageCount Value="56"/>
</Unit54>
<Unit55>
<Filename Value="..\..\wst_global.inc"/>
@ -461,9 +463,9 @@
<IsPartOfProject Value="True"/>
<UnitName Value="test_utilities"/>
<CursorPos X="29" Y="43"/>
<TopLine Value="20"/>
<EditorIndex Value="11"/>
<UsageCount Value="45"/>
<TopLine Value="3"/>
<EditorIndex Value="8"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit57>
<Unit58>
@ -471,8 +473,8 @@
<UnitName Value="fpcunit"/>
<CursorPos X="21" Y="99"/>
<TopLine Value="84"/>
<EditorIndex Value="12"/>
<UsageCount Value="14"/>
<EditorIndex Value="10"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit58>
<Unit59>
@ -480,8 +482,8 @@
<UnitName Value="testregistry"/>
<CursorPos X="39" Y="27"/>
<TopLine Value="17"/>
<EditorIndex Value="10"/>
<UsageCount Value="14"/>
<EditorIndex Value="7"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit59>
<Unit60>
@ -495,157 +497,51 @@
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="11" Y="49"/>
<TopLine Value="47"/>
<EditorIndex Value="7"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit61>
<Unit62>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/>
<CursorPos X="79" Y="218"/>
<TopLine Value="203"/>
<EditorIndex Value="5"/>
<UsageCount Value="11"/>
<EditorIndex Value="3"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit62>
<Unit63>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="89" Y="122"/>
<TopLine Value="106"/>
<EditorIndex Value="2"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit63>
<Unit64>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysinth.inc"/>
<CursorPos X="24" Y="63"/>
<TopLine Value="46"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit64>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="5" HistoryIndex="4">
<Position1>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="19" Column="26" TopLine="7"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="543" Column="36" TopLine="528"/>
</Position2>
<Position3>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="40" Column="59" TopLine="25"/>
<Filename Value="..\..\binary_streamer.pas"/>
<Caret Line="15" Column="30" TopLine="1"/>
</Position3>
<Position4>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="125" Column="20" TopLine="110"/>
<Filename Value="..\..\binary_streamer.pas"/>
<Caret Line="261" Column="24" TopLine="238"/>
</Position4>
<Position5>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<Caret Line="126" Column="51" TopLine="111"/>
<Filename Value="..\..\base_service_intf.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</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>
</ProjectOptions>
<CompilerOptions>