summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-10-05 19:37:38 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-10-05 19:37:38 (GMT)
commit85aac3aef7c9fa70dc07467858439a6d6f533ac0 (patch)
treeb6bcc6298726435d7ee338aa30131fb51663f3f0 /win
parentc3c71b5f3cddf06ba73dd3c2db7c72831db606c9 (diff)
downloadtcl-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.c7
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 = '/';
}