qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] tests: Trying fixes test-replication.c on msys2/mingw.


From: Stefan Weil
Subject: Re: [PATCH 1/2] tests: Trying fixes test-replication.c on msys2/mingw.
Date: Sat, 5 Sep 2020 23:49:16 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

Am 05.09.20 um 23:10 schrieb Yonggang Luo:

> On Windows there is no path like /tmp/s_local_disk.XXXXXX
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
>  tests/test-replication.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/test-replication.c b/tests/test-replication.c
> index 9ab3666a90..3cf544a133 100644
> --- a/tests/test-replication.c
> +++ b/tests/test-replication.c
> @@ -23,14 +23,14 @@
>  
>  /* primary */
>  #define P_ID "primary-id"
> -static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
> +static char p_local_disk[PATH_MAX];
>  
>  /* secondary */
>  #define S_ID "secondary-id"
>  #define S_LOCAL_DISK_ID "secondary-local-disk-id"
> -static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
> -static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
> -static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
> +static char s_local_disk[PATH_MAX];
> +static char s_active_disk[PATH_MAX];
> +static char s_hidden_disk[PATH_MAX];
>  
>  /* FIXME: steal from blockdev.c */
>  QemuOptsList qemu_drive_opts = {
> @@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
>  int main(int argc, char **argv)
>  {
>      int ret;
> +    const char *tmpdir = g_get_tmp_dir();
> +    sprintf(p_local_disk, "%s/p_local_disk.XXXXXX", tmpdir);
> +    sprintf(s_local_disk, "%s/s_local_disk.XXXXXX", tmpdir);
> +    sprintf(s_active_disk, "%s/s_active_disk.XXXXXX", tmpdir);
> +    sprintf(s_hidden_disk, "%s/s_hidden_disk.XXXXXX", tmpdir);
>      qemu_init_main_loop(&error_fatal);
>      bdrv_init();
>  


Maybe it is possible to use get_tmp_filename() (which could be
simplified by using g_get_tmp_dir).

And please use snprintf instead of sprintf. I am afraid that a path can
be longer than PATH_MAX, even if the tmpdir path is normally rather short.

You could also allocate the different filenames dynamically instead of
limiting them to PATH_MAX characters.

Regards

Stefan Weil





reply via email to

[Prev in Thread] Current Thread [Next in Thread]