Steve,

Please backport this to Langdale (note you'll need the other
qemu-helper-native patch first)

Thanks

On Wed, Nov 16, 2022 at 12:49 PM 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>
>
>  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 (#173657): 
https://lists.openembedded.org/g/openembedded-core/message/173657
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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to