Tcl Source Code

View Ticket
Login
Ticket UUID: 25cdcb7e8fb381fb981b5595cfc6dc48a7f1c83b
Title: incomplete utf-8 sequence followed by eofchar results in failed assertion
Type: Bug Version:
Submitter: pooryorick Created on: 2023-04-18 19:24:11
Subsystem: - New Builtin Commands Assigned To: pooryorick
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2023-04-21 23:03:08
Resolution: Fixed Closed By: pooryorick
    Closed on: 2023-04-21 23:03:08
Description: (text/x-fossil-wiki)
The following script causes build trunk to abort: 

<blockquote><code><verbatim>
set chan [file tempfile];
fconfigure $chan -encoding binary
puts -nonewline $chan \x81\x1A
flush $chan
seek $chan 0
chan configure $chan -encoding utf-8 -profile strict
read $chan 1
</verbatim></code></blockquote>

Output:

<blockquote><code><verbatim>
/path/to/tcl9.0/generic/tclIO.c:6154: DoReadChars: Assertion `!GotFlag(statePtr, CHANNEL_EOF) || GotFlag(statePtr, CHANNEL_STICKY_EOF) || GotFlag(statePtr, CHANNEL_ENCODING_ERROR) || Tcl_InputBuffered((Tcl_Channel)chanPtr) == 0' failed.
</verbatim></code></blockquote>
User Comments: pooryorick added on 2023-04-18 22:01:22: (text/x-fossil-wiki)
Fixed in [a02c5b9f8b].