mirror of https://github.com/OpenTTD/OpenTTD
(svn r27290) -Fix: sanitize the command line arguments before doing anything complex with them
parent
d05ac99d52
commit
10466746b4
|
@ -174,6 +174,9 @@ int CDECL main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
SetRandomSeed(time(NULL));
|
SetRandomSeed(time(NULL));
|
||||||
|
|
||||||
|
/* Make sure our arguments contain only valid UTF-8 characters. */
|
||||||
|
for (int i = 0; i < argc; i++) ValidateString(argv[i]);
|
||||||
|
|
||||||
return openttd_main(argc, argv);
|
return openttd_main(argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -259,7 +259,8 @@ void cocoaReleaseAutoreleasePool();
|
||||||
|
|
||||||
int CDECL main(int argc, char *argv[])
|
int CDECL main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int ret;
|
/* Make sure our arguments contain only valid UTF-8 characters. */
|
||||||
|
for (int i = 0; i < argc; i++) ValidateString(argv[i]);
|
||||||
|
|
||||||
#ifdef WITH_COCOA
|
#ifdef WITH_COCOA
|
||||||
cocoaSetupAutoreleasePool();
|
cocoaSetupAutoreleasePool();
|
||||||
|
@ -275,7 +276,7 @@ int CDECL main(int argc, char *argv[])
|
||||||
|
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
ret = openttd_main(argc, argv);
|
int ret = openttd_main(argc, argv);
|
||||||
|
|
||||||
#ifdef WITH_COCOA
|
#ifdef WITH_COCOA
|
||||||
cocoaReleaseAutoreleasePool();
|
cocoaReleaseAutoreleasePool();
|
||||||
|
|
|
@ -453,6 +453,9 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
||||||
|
|
||||||
argc = ParseCommandLine(cmdline, argv, lengthof(argv));
|
argc = ParseCommandLine(cmdline, argv, lengthof(argv));
|
||||||
|
|
||||||
|
/* Make sure our arguments contain only valid UTF-8 characters. */
|
||||||
|
for (int i = 0; i < argc; i++) ValidateString(argv[i]);
|
||||||
|
|
||||||
openttd_main(argc, argv);
|
openttd_main(argc, argv);
|
||||||
free(cmdline);
|
free(cmdline);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue