diff options
| author | mdejong <mdejong> | 2002-03-14 20:51:44 (GMT) | 
|---|---|---|
| committer | mdejong <mdejong> | 2002-03-14 20:51:44 (GMT) | 
| commit | 2d3979a4eb99440149236e31d8a4da2c05f1725c (patch) | |
| tree | b307d4d13ce196cb8bf21084ac23656ae05b8bc6 | |
| parent | 1fdf4c5cc49aeb9354ac50732847f820fe149fa6 (diff) | |
| download | tcl-2d3979a4eb99440149236e31d8a4da2c05f1725c.zip tcl-2d3979a4eb99440149236e31d8a4da2c05f1725c.tar.gz tcl-2d3979a4eb99440149236e31d8a4da2c05f1725c.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! | 
