diff options
author | mdejong <mdejong> | 2002-03-14 20:51:44 (GMT) |
---|---|---|
committer | mdejong <mdejong> | 2002-03-14 20:51:44 (GMT) |
commit | d2a773ac3184a75ad5c98c315ea7cce8646fcf2a (patch) | |
tree | b307d4d13ce196cb8bf21084ac23656ae05b8bc6 | |
parent | 5b3a0a1d5602565fa4fdb6a6de08e4535e71b34e (diff) | |
download | tcl-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-- | ChangeLog | 9 | ||||
-rw-r--r-- | win/tclWinFCmd.c | 6 |
2 files changed, 12 insertions, 3 deletions
@@ -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! |