putenv("VLC_DATA_PATH=Z:"TOP_SRCDIR"/share");
#endif
+ SetErrorMode(SEM_FAILCRITICALERRORS);
HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
/* SetProcessDEPPolicy */
BOOL (WINAPI * mySetDllDirectoryA)(const char* lpPathName);
# define PROCESS_DEP_ENABLE 1
- mySetProcessDEPPolicy = (BOOL WINAPI (*)(DWORD))
+ mySetProcessDEPPolicy = (BOOL (WINAPI *)(DWORD))
GetProcAddress(h_Kernel32, "SetProcessDEPPolicy");
if(mySetProcessDEPPolicy)
mySetProcessDEPPolicy(PROCESS_DEP_ENABLE);
/* Do NOT load any library from cwd. */
- mySetDllDirectoryA = (BOOL WINAPI (*)(const char*))
+ mySetDllDirectoryA = (BOOL (WINAPI *)(const char*))
GetProcAddress(h_Kernel32, "SetDllDirectoryA");
if(mySetDllDirectoryA)
mySetDllDirectoryA("");
if (wargv == NULL)
return 1;
- char *argv[argc + 4];
+ char *argv[argc + 3];
BOOL crash_handling = TRUE;
int j = 0;
char *lang = NULL;
argv[j++] = FromWide( L"--media-library" );
- argv[j++] = FromWide( L"--stats" );
argv[j++] = FromWide( L"--no-ignore-config" );
for (int i = 1; i < argc; i++)
{
SetUnhandledExceptionFilter(vlc_exception_filter);
}
- _setmode( STDIN_FILENO, _O_BINARY ); /* Needed for pipes */
+ _setmode( _fileno( stdin ), _O_BINARY ); /* Needed for pipes */
/* */
if (!lang)
/* Crashdumps handling */
static void check_crashdump(void)
{
- FILE * fd = _wfopen ( crashdump_path, L"r, ccs=UTF-8" );
+ wchar_t mv_crashdump_path[MAX_PATH];
+ wcscpy (mv_crashdump_path, crashdump_path);
+ wcscat (mv_crashdump_path, L".mv");
+
+ if (_wrename (crashdump_path, mv_crashdump_path))
+ return;
+
+ FILE * fd = _wfopen ( mv_crashdump_path, L"r, ccs=UTF-8" );
if( !fd )
return;
fclose( fd );
now.wYear, now.wMonth, now.wDay, now.wHour,
now.wMinute, now.wSecond );
- if( FtpPutFile( ftp, crashdump_path, remote_file,
+ if( FtpPutFile( ftp, mv_crashdump_path, remote_file,
FTP_TRANSFER_TYPE_BINARY, 0) )
MessageBox( NULL, L"Report sent correctly. Thanks a lot " \
"for the help.", L"Report sent", MB_OK);
}
}
- _wremove(crashdump_path);
+ _wremove(mv_crashdump_path);
}
/*****************************************************************************
osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
GetVersionEx( &osvi );
- fwprintf( fd, L"[version]\nOS=%d.%d.%d.%d.%s\nVLC=" VERSION_MESSAGE,
+ fwprintf( fd, L"[version]\nOS=%d.%d.%d.%d.%ls\nVLC=" VERSION_MESSAGE,
osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber,
osvi.dwPlatformId, osvi.szCSDVersion);
wchar_t module[ 256 ];
VirtualQuery( caller, &mbi, sizeof( mbi ) ) ;
GetModuleFileName( mbi.AllocationBase, module, 256 );
- fwprintf( fd, L"%p|%s\n", caller, module );
+ fwprintf( fd, L"%p|%ls\n", caller, module );
+
+ if( IsBadReadPtr( pBase, 2 * sizeof( void* ) ) )
+ break;
/*The last BP points to NULL!*/
caller = *(pBase + 1);
if( !caller )
break;
pBase = *pBase;
+ if( !pBase )
+ break;
}
HANDLE hpid = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
for (unsigned int i = 0; i < size / sizeof(HMODULE); i++) {
wchar_t module[ 256 ];
GetModuleFileName(mods[i], module, 256);
- fwprintf( fd, L"%p|%s\n", mods[i], module);
+ fwprintf( fd, L"%p|%ls\n", mods[i], module);
}
}
CloseHandle(hpid);