nto_process_target::create_inferior: Pass args as char **
authorMichael Weghorn <m.weghorn@posteo.de>
Mon, 25 May 2020 15:39:20 +0000 (11:39 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Mon, 25 May 2020 15:39:35 +0000 (11:39 -0400)
commitace6b9195e34cafa68964fb898d887ed15003fca
treec0a5d5323d9ebe2fe4427b2fefe2add6310c338b
parentb69ca137aca2e4aa72f3cad60e0389019ab14116
nto_process_target::create_inferior: Pass args as char **

According to [1], the fifth parameter
to the 'spawnp' function is 'char * const argv[]',
so just pass the args contained in the vector as
an array right away, rather than converting that
to a C string first and passing that one.

With commit 2090129c36c7e582943b7d300968d19b46160d84
("Share fork_inferior et al with gdbserver",
2016-12-22) the type had changed from 'char **'
to 'char *', but I can't see an apparent reason for
that, and 'nto_procfs_target::create_inferior'
(in gdb/nto-procfs.c) also passes a 'char **' to
'spawnp' instead.

I do not know much about that target and cannot actually
test this, however.
The main motivation to look at this was identifying
and replacing the remaining uses of the 'stringify_argv'
function which does not properly do escaping.

[1] http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.neutrino.lib_ref/topic/s/spawnp.html

gdbserver/ChangeLog:

* nto-low.cc (nto_process_target::create_inferior): Pass
argv to spawnp function as char **.

Change-Id: Ic46fe745c2aa1118114240d149d4156032f84344
gdbserver/ChangeLog
gdbserver/nto-low.cc