* Dyn ansichar array for fcoffstrs

This commit is contained in:
Michaël Van Canneyt 2025-03-18 15:54:32 +01:00
parent 328e60c155
commit e05a618483

View File

@ -175,7 +175,7 @@ interface
TCoffObjInput = class(tObjInput)
private
FCoffsyms : tdynamicarray;
FCoffStrs : PChar;
FCoffStrs : TAnsiCharDynArray;
FCoffStrSize: longword;
{ Convert symidx -> TObjSymbol }
FSymTbl : ^TObjSymbolArray;
@ -2270,8 +2270,7 @@ const pemagic : array[0..3] of byte = (
destructor TCoffObjInput.destroy;
begin
FCoffSyms.free;
if assigned(FCoffStrs) then
freemem(FCoffStrs);
FCoffStrs:=nil;
if assigned(FSymTbl) then
freemem(FSymTbl);
if assigned(FSecTbl) then
@ -2771,7 +2770,7 @@ const pemagic : array[0..3] of byte = (
if (FCoffStrSize>4) then
begin
{ allocate an extra byte and null-terminate }
GetMem(FCoffStrs,FCoffStrSize+1);
SetLength(FCoffStrs,FCoffStrSize+1);
FCoffStrs[FCoffStrSize]:=#0;
for i:=0 to 3 do
FCoffStrs[i]:=#0;
@ -2871,8 +2870,6 @@ const pemagic : array[0..3] of byte = (
{ Relocs }
ObjSectionList.ForEachCall(@objsections_read_relocs,nil);
end;
if assigned(FCoffStrs) then
freemem(FCoffStrs);
FCoffStrs:=nil;
FCoffSyms.Free;
FCoffSyms:=nil;