[Patch] StreamIO crashes in Close()
Summary
Closing a file used with StreamIO crashes
System Information
- Operating system: macOS Ventura 13.6
- Processor architecture: x86-64
- Compiler version: trunk 1e64126f
- Device: computer
Steps to reproduce
Run test-case:
program TestStreamIOCrash;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
Classes,
streamIO;
var
ms: TMemoryStream;
F: TextFile;
begin
ms:= TMemoryStream.Create;
try
FillChar(F, SizeOf(F), $80); //make sure this crashes
AssignStream(F, ms);
Rewrite(F);
try
Write(F, 'Close will crash');
finally
Close(F);
end;
finally
ms.Free;
end;
end.
What is the current bug behavior?
Crashes in Close()
What is the expected (correct) behavior?
Should not crash.
Possible fixes
AssignStream must initialise "new" TextRec.FullName string.