@@ -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;
/* 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;
+static char *s_active_disk;
+static char *s_hidden_disk;
/* 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();
+ p_local_disk = g_strdup_printf("%s/p_local_disk.XXXXXX", tmpdir);
+ s_local_disk = g_strdup_printf("%s/s_local_disk.XXXXXX", tmpdir);
+ s_active_disk = g_strdup_printf("%s/s_active_disk.XXXXXX", tmpdir);
+ s_hidden_disk = g_strdup_printf("%s/s_hidden_disk.XXXXXX", tmpdir);
qemu_init_main_loop(&error_fatal);
bdrv_init();
@@ -605,5 +610,10 @@ int main(int argc, char **argv)
cleanup_imgs();
+ g_free(p_local_disk);
+ g_free(s_local_disk);
+ g_free(s_active_disk);
+ g_free(s_hidden_disk);
+
return ret;
}