From 7007975497fc6e47c0dc466763dbaa01e66a3935 Mon Sep 17 00:00:00 2001 From: martin Date: Sun, 9 Feb 2014 13:25:10 +0000 Subject: [PATCH] FPDebug: mem leak git-svn-id: trunk@43968 - --- components/fpdebug/fpdbgdwarf.pas | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/fpdebug/fpdbgdwarf.pas b/components/fpdebug/fpdbgdwarf.pas index d91fc00289..8e31172267 100644 --- a/components/fpdebug/fpdbgdwarf.pas +++ b/components/fpdebug/fpdbgdwarf.pas @@ -7463,6 +7463,7 @@ else debugln(['TDbgDwarfInfoAddressContext.FindSymbol XXXXXXXXXXXXX no self']); s := CU2.UnitName; if (s <> '') and (CompareUtf8BothCase(p1, p2, @s[1])) then begin + Result.ReleaseReference; Result := TDbgDwarfIdentifier.CreateSubClass(AName, InfoEntry); DebugLn(FPDBG_DWARF_SEARCH, ['TDbgDwarf.FindIdentifier found unit ', dbgs(InfoEntry.FScope, CU2), DbgSName(Result)]); break; @@ -7472,6 +7473,7 @@ else debugln(['TDbgDwarfInfoAddressContext.FindSymbol XXXXXXXXXXXXX no self']); if InfoEntry.GoNamedChildEx(p1, p2) then begin if InfoEntry.IsAddressInStartScope(FAddress) then begin // only variables are marked "external", but types not / so we may need all top level + Result.ReleaseReference; Result := TDbgDwarfIdentifier.CreateSubClass(AName, InfoEntry); DebugLn(FPDBG_DWARF_SEARCH, ['TDbgDwarf.FindIdentifier found (other unit) ', dbgs(InfoEntry.FScope, CU2), DbgSName(Result)]); // DW_AT_visibility ?