From 552bc75aab4d9aba098c265e347933b4751f0c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvador=20D=C3=ADaz=20Fau?= Date: Wed, 7 Feb 2018 10:02:24 +0100 Subject: [PATCH] Bug fix : used wrong variable for data size - Used data_in_read instead of data_in_size before the move command. - Added more checks before wirtting to the buffer and stream. --- .../ResponseFilterBrowser/uResponseFilterBrowser.pas | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/demos/ResponseFilterBrowser/uResponseFilterBrowser.pas b/demos/ResponseFilterBrowser/uResponseFilterBrowser.pas index b924283c..fe9485ec 100644 --- a/demos/ResponseFilterBrowser/uResponseFilterBrowser.pas +++ b/demos/ResponseFilterBrowser/uResponseFilterBrowser.pas @@ -141,12 +141,16 @@ begin begin if (data_out <> nil) then begin - data_out_written := min(data_in_read, data_out_size); - Move(data_in^, data_out^, data_out_written); + data_out_written := min(data_in_size, data_out_size); + + if (data_out_written > 0) then + Move(data_in^, data_out^, data_out_written); end; - data_in_read := FStream.Write(data_in^, data_in_size); - aResult := RESPONSE_FILTER_NEED_MORE_DATA; + if (data_in_size > 0) then + data_in_read := FStream.Write(data_in^, data_in_size); + + aResult := RESPONSE_FILTER_NEED_MORE_DATA; end; except on e : exception do