sched/posix_spawn: Don't insert name at the begin of argv

since the standard require the caller pass the name explicitly
https://pubs.opengroup.org/onlinepubs/009695399/functions/posix_spawn.html:
The argument argv is an array of character pointers to null-terminated strings.
The last member of this array shall be a null pointer and is not counted in argc.
These strings constitute the argument list available to the new process image.
The value in argv[0] should point to a filename that is associated with the
process image being started by the posix_spawn() or posix_spawnp() function.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao
2021-06-15 13:45:33 +08:00
committed by patacongo
parent 90f71bd017
commit bec68ad8ea
4 changed files with 18 additions and 31 deletions
+2 -2
View File
@@ -168,8 +168,8 @@ int exec_module(FAR const struct binary_s *binp,
/* Initialize the task */
ret = nxtask_init(tcb, filename, binp->priority,
NULL, binp->stacksize, binp->entrypt, argv);
ret = nxtask_init(tcb, argv[0], binp->priority, NULL,
binp->stacksize, binp->entrypt, &argv[1]);
binfmt_freeargv(argv);
if (ret < 0)
{