On Wed, Nov 16, 2022 at 10:49 AM Joshua Watt <[email protected]> wrote:
>
> The previous version of this wasn't correctly passing the program name
> as argv[0], and was also over-complicated anyway because argv[] is
> guaranteed to be terminated with a NULL pointer, so it can be passed
> directly to the execv'd process without needing to be copied.
>
> Signed-off-by: Joshua Watt <[email protected]>
> ---
> .../qemu/qemu-helper/qemu-oe-bridge-helper.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper.c
> b/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper.c
> index cadf2a012ac..9434e1d2699 100644
> --- a/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper.c
> +++ b/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper.c
> @@ -8,6 +8,7 @@
>
> #include <stdio.h>
> #include <unistd.h>
> +#include <stdlib.h>
why do we need stdlib.h header ?
>
> void try_program(char const* path, char** args) {
> if (access(path, X_OK) == 0) {
> @@ -18,22 +19,14 @@ void try_program(char const* path, char** args) {
> int main(int argc, char** argv) {
> char* var;
>
> - /* Copy arguments so that they are a NULL terminated list, skipping
> argv[0]
> - * since it is this program name */
> - char** args = malloc(argc * sizeof(char*));
> - for (int i = 0; i < argc - 1; i++) {
> - args[i] = argv[i + 1];
> - }
> - args[argc - 1] = NULL;
> -
> var = getenv("QEMU_BRIDGE_HELPER");
> if (var && var[0] != '\0') {
> - execvp(var, args);
> + execvp(var, argv);
> return 1;
> }
>
> - try_program("/usr/libexec/qemu-bridge-helper", args);
> - try_program("/usr/lib/qemu/qemu-bridge-helper", args);
> + try_program("/usr/libexec/qemu-bridge-helper", argv);
> + try_program("/usr/lib/qemu/qemu-bridge-helper", argv);
>
> fprintf(stderr, "No bridge helper found\n");
> return 1;
> --
> 2.33.0
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#173395):
https://lists.openembedded.org/g/openembedded-core/message/173395
Mute This Topic: https://lists.openembedded.org/mt/95073277/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-