diff options
author | andreas_kupries <akupries@shaw.ca> | 2006-09-25 21:55:05 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2006-09-25 21:55:05 (GMT) |
commit | 6c5ebb728f871cf1ab1cd3ca4430d45a0e2a2375 (patch) | |
tree | 7b2a8880274b63a5c7d09795cc17eda2908aebdb | |
parent | ec417aac0d3264df32f305c1e64a8a3336d1144a (diff) | |
download | tcl-6c5ebb728f871cf1ab1cd3ca4430d45a0e2a2375.zip tcl-6c5ebb728f871cf1ab1cd3ca4430d45a0e2a2375.tar.gz tcl-6c5ebb728f871cf1ab1cd3ca4430d45a0e2a2375.tar.bz2 |
* generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642],
aka coverity #51. Extended loop condition, added checking for
NULL to prevent seg.fault.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclIO.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2006-09-25 Andreas Kupries <andreask@activestate.com> + + * generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642], + aka coverity #51. Extended loop condition, added checking for + NULL to prevent seg.fault. + 2006-09-25 Andreas Kupries <andreask@activestate.com> * generic/tclBasic.c: Reverted exposure of patchlevel in diff --git a/generic/tclIO.c b/generic/tclIO.c index 2eb96a7..407a88f 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIO.c,v 1.61.2.21 2006/07/10 23:01:06 hobbs Exp $ + * RCS: @(#) $Id: tclIO.c,v 1.61.2.22 2006/09/25 21:55:06 andreas_kupries Exp $ */ #include "tclInt.h" @@ -1323,7 +1323,7 @@ Tcl_StackChannel(interp, typePtr, instanceData, mask, prevChan) statePtr = (ChannelState *) tsdPtr->firstCSPtr; prevChanPtr = ((Channel *) prevChan)->state->topChanPtr; - while (statePtr->topChanPtr != prevChanPtr) { + while ((statePtr != NULL) && (statePtr->topChanPtr != prevChanPtr)) { statePtr = statePtr->nextCSPtr; } |