Fixed bug 3338 - console_wmain doesn't null terminate the argv array
Simon Hug The function console_wmain in src/main/windows/SDL_windows_main.c does not null terminate the argument list it is creating. As specified by the C standard, "argv[argc] shall be a null pointer." The SDLTest framework makes use of that null pointer and some test programs can cause an access violation because it's missing.
parent
77305d47c2
commit
708def87f3
|
@ -141,12 +141,13 @@ int
|
||||||
console_wmain(int argc, wchar_t *wargv[], wchar_t *wenvp)
|
console_wmain(int argc, wchar_t *wargv[], wchar_t *wenvp)
|
||||||
{
|
{
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
char **argv = SDL_stack_alloc(char*, argc);
|
char **argv = SDL_stack_alloc(char*, argc + 1);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < argc; ++i) {
|
for (i = 0; i < argc; ++i) {
|
||||||
argv[i] = WIN_StringToUTF8(wargv[i]);
|
argv[i] = WIN_StringToUTF8(wargv[i]);
|
||||||
}
|
}
|
||||||
|
argv[argc] = NULL;
|
||||||
|
|
||||||
retval = main_utf8(argc, argv);
|
retval = main_utf8(argc, argv);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue