summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvincentdarley <vincentdarley>2004-01-09 15:22:46 (GMT)
committervincentdarley <vincentdarley>2004-01-09 15:22:46 (GMT)
commitd96f663252a781bb11f0de481ae8aefde0011fa3 (patch)
treeeb979400ce7cecdbca596bd3dcd5a12766bfa19c
parentb6cbad4ae34d28d3a1c2047ec41ddbedeb705023 (diff)
downloadtcl-d96f663252a781bb11f0de481ae8aefde0011fa3.zip
tcl-d96f663252a781bb11f0de481ae8aefde0011fa3.tar.gz
tcl-d96f663252a781bb11f0de481ae8aefde0011fa3.tar.bz2
TclFinalizeFilesystem fix
-rw-r--r--ChangeLog5
-rw-r--r--generic/tclIOUtil.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 295a558..66fa255 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-09 Vince Darley <vincentdarley@users.sourceforge.net>
+
+ * generic/tclIOUtil.c: fix to infinite loop in
+ TclFinalizeFilesystem [Bug 873311]
+
2003-12-25 Mo DeJong <mdejong@users.sourceforge.net>
* win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH
diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c
index 8d2b3ba..c47e07f 100644
--- a/generic/tclIOUtil.c
+++ b/generic/tclIOUtil.c
@@ -17,7 +17,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclIOUtil.c,v 1.91 2003/12/24 04:18:20 davygrvy Exp $
+ * RCS: @(#) $Id: tclIOUtil.c,v 1.92 2004/01/09 15:22:46 vincentdarley Exp $
*/
#include "tclInt.h"
@@ -629,7 +629,7 @@ FsUpdateCwd(cwdObj)
void
TclFinalizeFilesystem()
{
- FilesystemRecord *fsRecPtr, *tmpFsRecPtr;
+ FilesystemRecord *fsRecPtr;
/*
* Assumption that only one thread is active now. Otherwise
@@ -649,7 +649,7 @@ TclFinalizeFilesystem()
fsRecPtr = filesystemList;
while (fsRecPtr != NULL) {
- tmpFsRecPtr = filesystemList->nextPtr;
+ FilesystemRecord *tmpFsRecPtr = fsRecPtr->nextPtr;
if (fsRecPtr->fileRefCount <= 0) {
/* The native filesystem is static, so we don't free it */
if (fsRecPtr != &nativeFilesystemRecord) {