(svn r27290) -Fix: sanitize the command line arguments before doing anything complex with them
This commit is contained in:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user