mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-06 13:47:41 +01:00
Debugger: Fix mem leak in disassembler
git-svn-id: trunk@43329 -
This commit is contained in:
parent
02a1939e74
commit
69885cfba0
@ -2101,7 +2101,7 @@ type
|
|||||||
constructor Create(AIdType: TMapIdType; ADataSize: Cardinal);
|
constructor Create(AIdType: TMapIdType; ADataSize: Cardinal);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
// AddRange, may destroy the object
|
// AddRange, may destroy the object
|
||||||
procedure AddRange(const ARange: TDBGDisassemblerEntryRange);
|
procedure AddRange(const ARange: TDBGDisassemblerEntryRange); // Arange may be freed
|
||||||
function GetRangeForAddr(AnAddr: TDbgPtr; IncludeNextAddr: Boolean = False): TDBGDisassemblerEntryRange;
|
function GetRangeForAddr(AnAddr: TDbgPtr; IncludeNextAddr: Boolean = False): TDBGDisassemblerEntryRange;
|
||||||
property OnDelete: TNotifyEvent read FOnDelete write FOnDelete;
|
property OnDelete: TNotifyEvent read FOnDelete write FOnDelete;
|
||||||
property OnMerge: TDBGDisassemblerEntryMapMergeEvent
|
property OnMerge: TDBGDisassemblerEntryMapMergeEvent
|
||||||
@ -11008,7 +11008,10 @@ var
|
|||||||
OldId: TDBGPtr;
|
OldId: TDBGPtr;
|
||||||
begin
|
begin
|
||||||
debugln(DBG_DISASSEMBLER, ['INFO: TDBGDisassemblerEntryMap.AddRange ', dbgs(ARange), ' to map with count=', Count ]);
|
debugln(DBG_DISASSEMBLER, ['INFO: TDBGDisassemblerEntryMap.AddRange ', dbgs(ARange), ' to map with count=', Count ]);
|
||||||
if ARange.Count = 0 then exit;
|
if ARange.Count = 0 then begin
|
||||||
|
ARange.Free;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
MergeRng := GetRangeForAddr(ARange.RangeStartAddr, True);
|
MergeRng := GetRangeForAddr(ARange.RangeStartAddr, True);
|
||||||
if MergeRng <> nil then begin
|
if MergeRng <> nil then begin
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user