From de72a62e4a605ea6198ab69dddfb92638050e7b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Strohh=C3=A4cker?= Date: Sat, 20 Oct 2007 19:13:59 +0000 Subject: [PATCH] create temp file adds a missing backslash to the path qualifier if necessary Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3023 --- src/dos/dos_files.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index 6f2fb9a8..0c37e33e 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dos_files.cpp,v 1.92 2007-10-09 08:14:13 qbix79 Exp $ */ +/* $Id: dos_files.cpp,v 1.93 2007-10-20 19:13:59 c2woody Exp $ */ #include #include @@ -641,8 +641,15 @@ bool DOS_ForceDuplicateEntry(Bit16u entry,Bit16u newentry) { bool DOS_CreateTempFile(char * const name,Bit16u * entry) { /* First add random crap to the end of the name and try to open */ - char * tempname; - tempname=name+strlen(name); + size_t namelen=strlen(name); + char * tempname=name+namelen; + if (namelen==0) E_Exit("DOS:Invalid call to CreateTempFile"); + else { + if ((name[namelen-1]!='\\') && (name[namelen-1]!='/')) { + tempname[0]='\\'; + tempname++; + } + } dos.errorcode=0; do { Bit32u i;