[Spice-devel] [server PATCH 3/3] replay: do not use argv after g_option_context_parse

Frediano Ziglio fziglio at redhat.com
Thu Mar 3 11:57:12 UTC 2016


Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano

> 
> Apparently, after using g_option_context_parse with G_OPTION_REMAINING
> argv is modified and should not be used.
> This patch uses "file" instead of "argv" and makes sure
> file is freed later.
> No free is called upon error - exit takes care of it.
> ---
>  server/tests/replay.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/server/tests/replay.c b/server/tests/replay.c
> index 4fcbc3e..cfb8871 100644
> --- a/server/tests/replay.c
> +++ b/server/tests/replay.c
> @@ -364,12 +364,12 @@ int main(int argc, char **argv)
>      } else {
>          fd = fopen(file[0], "r");
>      }
> -    g_strfreev(file);
> -    file = NULL;
>      if (fd == NULL) {
> -        g_printerr("error opening %s\n", argv[1]);
> -        return 1;
> +        g_printerr("error opening %s\n", file[0]);
> +        exit(1);
>      }
> +    g_strfreev(file);
> +    file = NULL;
>      if (fcntl(fileno(fd), FD_CLOEXEC) < 0) {
>          perror("fcntl failed");
>          exit(1);
> --
> 2.5.0
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list