diff options
author | Felix Geyer <debfx-pkg@fobos.de> | 2010-05-08 14:05:01 +0200 |
---|---|---|
committer | Felix Geyer <debfx-pkg@fobos.de> | 2010-05-08 14:05:01 +0200 |
commit | 33961db1e2718be932cefe0b32aae173ae760cea (patch) | |
tree | 800f8bf4b1d5e4b9505a30270f0c170342abb43d /src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp | |
parent | 4749e3a0c5d3a159d3ae751e6780b537c860923a (diff) | |
download | virtualbox-33961db1e2718be932cefe0b32aae173ae760cea.tar.gz |
Imported Upstream version 3.1.52-dfsgupstream/3.1.52-dfsg
Diffstat (limited to 'src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp')
-rw-r--r-- | src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp b/src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp index 95c4e9b26..a991619e7 100644 --- a/src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp +++ b/src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp @@ -1,4 +1,4 @@ -/* $Id: rtProcInitExePath-os2.cpp 28800 2010-04-27 08:22:32Z vboxsync $ */ +/* $Id: rtProcInitExePath-os2.cpp 28929 2010-04-30 11:26:46Z vboxsync $ */ /** @file * IPRT - rtProcInitName, OS/2. */ @@ -47,16 +47,14 @@ DECLHIDDEN(int) rtProcInitExePath(char *pszPath, size_t cchPath) */ _execname(pszPath, cchPath); - char *pszTmp; - int rc = rtPathFromNative(&pszTmp, pszPath); - AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhsx\n", rc, pszPath, cchPath, pszPath), rc); - - size_t cch = strlen(pszTmp); - AssertReturn(cch <= cchPath, VERR_BUFFER_OVERFLOW); - - memcpy(pszPath, pszTmp, cch + 1); - RTStrFree(pszTmp); - - return VINF_SUCCESS; + char const *pszTmp; + int rc = rtPathFromNative(&pszTmp, pszPath, NULL); + AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhxs\n", rc, pszPath, cchPath, pszPath), rc); + if (pszTmp != pszPath) + { + rc = RTStrCopy(pszPath, cchPath, pszTmp); + rtPathFreeIprt(pszTmp, pszPath); + } + return rc; } |