Fix a memory leak spotted by Blaise Thorn

pdecsub.pas, parse_proc_head.consume_generic_type_parameter:
  * avoid a memory leak if there are no generic type parameters following

git-svn-id: trunk@23543 -
This commit is contained in:
svenbarth 2013-01-30 15:29:29 +00:00
parent 9315eba917
commit cca897cfd3

View File

@ -656,14 +656,16 @@ implementation
genname : tidstring;
s : shortstring;
begin
result:=not assigned(astruct)and(m_delphi in current_settings.modeswitches);
result:=not assigned(astruct)and
(m_delphi in current_settings.modeswitches)and
(token in [_LT,_LSHARPBRACKET]);
if result then
begin
consume(token);
{ parse all parameters first so we can check whether we have
the correct generic def available }
genparalistdecl:=TFPHashList.Create;
if try_to_consume(_LT) then
begin
{ start with 1, so Find can return Nil (= 0) }
idx:=1;
repeat
@ -682,13 +684,6 @@ implementation
until not try_to_consume(_COMMA);
if not try_to_consume(_GT) then
consume(_RSHARPBRACKET);
end
else
begin
{ no generic }
srsym:=nil;
exit;
end;
s:='';
str(genparalistdecl.count,s);
@ -706,7 +701,9 @@ implementation
srsym:=nil;
exit;
end
end;
end
else
srsym:=nil;
end;
procedure consume_generic_interface;