Remember the allocated string to free it.
diff --git a/loader/module.c b/loader/module.c
index 3ddb2f0..eef1345 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -722,7 +722,7 @@
DOS_FULL_NAME full_name;
const char *unixfilename = filename;
const char *argv[256], **argptr;
- char *p = NULL;
+ char *cmdline = NULL;
BOOL iconic = FALSE;
/* Get Unix file name and iconic flag */
@@ -737,7 +737,8 @@
argptr = argv;
if ( !useWine )
{
- p = strdup(lpCmdLine);
+ char *p;
+ p = cmdline = strdup(lpCmdLine);
if (strchr(filename, '/') || strchr(filename, ':') || strchr(filename, '\\'))
{
if ( DOSFS_GetFullName( filename, TRUE, &full_name ) )
@@ -782,7 +783,7 @@
memset( lpProcessInfo, '\0', sizeof( *lpProcessInfo ) );
lpProcessInfo->hProcess = INVALID_HANDLE_VALUE;
lpProcessInfo->hThread = INVALID_HANDLE_VALUE;
- if (p) free(p);
+ if (cmdline) free(cmdline);
SetLastError( ERROR_SUCCESS );
return TRUE;