summaryrefslogtreecommitdiff
path: root/src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp
diff options
context:
space:
mode:
authorFelix Geyer <debfx-pkg@fobos.de>2010-05-08 14:05:01 +0200
committerFelix Geyer <debfx-pkg@fobos.de>2010-05-08 14:05:01 +0200
commit33961db1e2718be932cefe0b32aae173ae760cea (patch)
tree800f8bf4b1d5e4b9505a30270f0c170342abb43d /src/VBox/Runtime/r3/os2/rtProcInitExePath-os2.cpp
parent4749e3a0c5d3a159d3ae751e6780b537c860923a (diff)
downloadvirtualbox-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.cpp22
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;
}