Tcl Source Code

View Ticket
Login
Ticket UUID: 219362
Title: Tcl_CreateTrace callback does not terminate command string c
Type: Bug Version: obsolete: 8.3.1
Submitter: nobody Created on: 2000-10-26 05:11:28
Subsystem: 45. Parsing and Eval Assigned To: msofer
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2002-03-28 02:22:35
Resolution: Fixed Closed By: msofer
    Closed on: 2002-03-27 19:22:35
Description:
OriginalBugID: 5900 Bug
Version: 8.3.1
SubmitDate: '2000-06-14'
LastModified: '2000-06-14'
Severity: MED
Status: UnAssn
Submitter: welch
ChangedBy: welch
OS: All
FixedDate: '2000-10-25'
ClosedDate: '2000-10-25'


You need to run TclX to see this bug, but the callback made via
Tcl_CreateTrace passes in a command argument that is no longer
null-terminated at the end of the command.  Instead you see the
rest of the script.  This probably occurred in the effort to
remove "null hammering".

To see, take this script:

proc someProc {} {}

cmdtrace on noeval
someProc
someProc
someProc
cmdtrace off

And run it from the command line with Tcl X:

./tcl trace.test
 1:  someProc\nsomeProc\nsomeProc\ncmdtrace off\n
 1:  someProc\nsomeProc\ncmdtrace off\n
 1:  someProc\ncmdtrace off\n
 1:  cmdtrace off\n

In this simple case, the string should terminate at the \n



This has been broken since 8.2, we think.  It would be nice to fix
for Tcl 8.3.2 and TclPro 1.4
User Comments: msofer added on 2002-03-28 02:21:56:
Logged In: YES 
user_id=148712

Patch committed; how did I forget?

msofer added on 2001-12-11 05:16:27:

File Added - 14472: 219362.patch

msofer added on 2001-12-11 05:16:26:
Logged In: YES 
user_id=148712

David Knoll proposed a patch for this bug [Patch 403420].
The patch has been updated to current HEAD and is provided
here as 219362.patch

The comments in the original patch were:
"all we've done here is substitute a new and more accurate
string length value in lieu of 'bytesLeft'. 
parse.commentStart and parse.commentSize could probably also
be used to prevent any leading comments from being passed to
the tclTrace callback."

msofer added on 2001-05-22 05:40:34:
Logged In: YES 
user_id=148712

Related patches: #403420 & #403430

dgp added on 2001-01-27 00:59:58:
Patch 103420 has been proposed as a fix for this bug.

Attachments: