task_create: Don't even try if the accumulated size of the argument list is larger than the stack
This commit is contained in:
parent
2a0549865f
commit
bc265d74e7
|
@ -490,9 +490,16 @@ static inline int task_stackargsetup(FAR struct task_tcb_s *tcb,
|
|||
|
||||
while (argv[argc])
|
||||
{
|
||||
/* Add the size of this argument (with NUL terminator) */
|
||||
/* Add the size of this argument (with NUL terminator).
|
||||
* Check each time if the accumulated size exceeds the
|
||||
* size of the allocated stack.
|
||||
*/
|
||||
|
||||
strtablen += (strlen(argv[argc]) + 1);
|
||||
if (strtablen >= tcb->adj_stack_size)
|
||||
{
|
||||
return -ENAMETOOLONG;
|
||||
}
|
||||
|
||||
/* Increment the number of args. Here is a sanity check to
|
||||
* prevent running away with an unterminated argv[] list.
|
||||
|
|
Loading…
Reference in New Issue