Hello. In lib/crt1.c
I keep insisting that evaluating the return of __getmainargs is important.
This:
__tgetmainargs( &argc, &argv, &env, _dowildcard, &start_info);
ret = _tmain(argc, argv, env);
exit(ret);
should be:
if (__tgetmainargs( &argc, &argv, &env, _dowildcard, &start_info) < 0) {
ExitProcess(-1);
} else {
ret = _tmain(argc, argv, env);
exit(ret);
}
and:
__tgetmainargs(&wargc, &wargv, &wenv, _dowildcard, &start_info);
should be:
if (__tgetmainargs(&wargc, &wargv, &wenv, _dowildcard, &start_info) < 0) {
ExitProcess(-1);
}
Questions, for what purpose is the function _runtmain ?
I think that this line:
return _tmain(argc, argv, NULL);
should be:
*wenv = NULL;
return _tmain(argc, argv, wenv);
for avoid a possible null dereference of wenv inside _tmain.
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel