summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormdejong <mdejong>2002-03-14 20:51:44 (GMT)
committermdejong <mdejong>2002-03-14 20:51:44 (GMT)
commitd2a773ac3184a75ad5c98c315ea7cce8646fcf2a (patch)
treeb307d4d13ce196cb8bf21084ac23656ae05b8bc6
parent5b3a0a1d5602565fa4fdb6a6de08e4535e71b34e (diff)
downloadtcl-d2a773ac3184a75ad5c98c315ea7cce8646fcf2a.zip
tcl-d2a773ac3184a75ad5c98c315ea7cce8646fcf2a.tar.gz
tcl-d2a773ac3184a75ad5c98c315ea7cce8646fcf2a.tar.bz2
* win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle
an SEH exception with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting instruction with EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an example of how restarting could send Tcl into an infinite loop. [Patch 525746]
-rw-r--r--ChangeLog9
-rw-r--r--win/tclWinFCmd.c6
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 371a528..830415d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-03-14 Mo DeJong <mdejong@users.sourceforge.net>
+
+ * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle
+ an SEH exception with EXCEPTION_EXECUTE_HANDLER instead
+ of restarting the faulting instruction with
+ EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an
+ example of how restarting could send Tcl into an
+ infinite loop. [Patch 525746]
+
2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
* win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile,
diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c
index bd4ac32..b3104f1 100644
--- a/win/tclWinFCmd.c
+++ b/win/tclWinFCmd.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclWinFCmd.c,v 1.25 2002/03/12 11:32:19 mdejong Exp $
+ * RCS: @(#) $Id: tclWinFCmd.c,v 1.26 2002/03/14 20:51:44 mdejong Exp $
*/
#include "tclWinInt.h"
@@ -186,7 +186,7 @@ DoRenameFile(
if ((*tclWinProcs->moveFileProc)(nativeSrc, nativeDst) != FALSE) {
retval = TCL_OK;
}
- } __except (EXCEPTION_CONTINUE_EXECUTION) {}
+ } __except (EXCEPTION_EXECUTE_HANDLER) {}
/*
* Avoid using control flow statements in the SEH guarded block!
@@ -472,7 +472,7 @@ DoCopyFile(
if ((*tclWinProcs->copyFileProc)(nativeSrc, nativeDst, 0) != FALSE) {
retval = TCL_OK;
}
- } __except (EXCEPTION_CONTINUE_EXECUTION) {}
+ } __except (EXCEPTION_EXECUTE_HANDLER) {}
/*
* Avoid using control flow statements in the SEH guarded block!