tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] crt1.c questions


From: Carlos Montiers
Subject: [Tinycc-devel] crt1.c questions
Date: Mon, 20 Feb 2017 09:39:35 -0300

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]