diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-10-05 19:37:38 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-10-05 19:37:38 (GMT) |
commit | 85aac3aef7c9fa70dc07467858439a6d6f533ac0 (patch) | |
tree | b6bcc6298726435d7ee338aa30131fb51663f3f0 /win | |
parent | c3c71b5f3cddf06ba73dd3c2db7c72831db606c9 (diff) | |
download | tcl-85aac3aef7c9fa70dc07467858439a6d6f533ac0.zip tcl-85aac3aef7c9fa70dc07467858439a6d6f533ac0.tar.gz tcl-85aac3aef7c9fa70dc07467858439a6d6f533ac0.tar.bz2 |
Fix wrong usage of Tcl_WinTCharToUtf() contract: nativePath should never be NULL, but actually it can be.
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinFCmd.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c index 52ea8c6..2f28154 100644 --- a/win/tclWinFCmd.c +++ b/win/tclWinFCmd.c @@ -1026,7 +1026,8 @@ DoRemoveJustDirectory( if (nativePath == NULL || nativePath[0] == '\0') { Tcl_SetErrno(ENOENT); - goto end; + Tcl_DStringInit(errorPtr); + return TCL_ERROR; } attr = GetFileAttributes(nativePath); @@ -1108,9 +1109,7 @@ DoRemoveJustDirectory( end: if (errorPtr != NULL) { - char *p; - Tcl_WinTCharToUtf(nativePath, -1, errorPtr); - p = Tcl_DStringValue(errorPtr); + char *p = Tcl_WinTCharToUtf(nativePath, -1, errorPtr); for (; *p; ++p) { if (*p == '\\') *p = '/'; } |