From 89942f1bd39e8f3eb0a614ce511f428d80386e40 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 17 Apr 2014 20:13:38 +0000 Subject: [PATCH] fpspreadsheet: Fix memory leak (ignored format string and dyn formula array when freeing cells) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2941 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/fpspreadsheet.pas | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index 2533a09e6..e17d71797 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -557,9 +557,11 @@ end; } procedure TsWorksheet.RemoveCallback(data, arg: pointer); begin - { The UTF8STring must be manually reseted to nil content, because + { The strings and dyn arrays must be reset to nil content manually, because FreeMem only frees the record mem, without checking its content } - PCell(data).UTF8StringValue:=''; + PCell(data).UTF8StringValue := ''; + PCell(data).NumberFormatStr := ''; + SetLength(PCell(data).RPNFormulaValue, 0); FreeMem(data); end;