[Intel-gfx] [PATCH i-g-t 5/7] Make string commands dynamic allocate
Rodrigo Siqueira
rodrigosiqueiramelo at gmail.com
Sat Jul 7 23:23:30 UTC 2018
This patch fix the following GCC warning:
intel_gvtg_test.c: In function ‘create_guest’:
intel_gvtg_test.c:127:50: warning: ‘%s’ directive writing up to 4095
bytes into a region of size 4077 [-Wformat-overflow=]
[..]
intel_gvtg_test.c:127:5: note: ‘sprintf’ output between 36 and 8226
bytes into a destination of size 4096
[..]
This patch changes the approach for allocating memory to handle QEMU
commands by dynamically allocate space to save the whole command.
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo at gmail.com>
---
tools/intel_gvtg_test.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c
index 659b7956..93c05e37 100644
--- a/tools/intel_gvtg_test.c
+++ b/tools/intel_gvtg_test.c
@@ -120,16 +120,25 @@ static int check_tools(void)
static void create_guest(void)
{
- char create_qcow_cmd[PATH_MAX] = {0};
- char create_vgpu_cmd[PATH_MAX] = {0};
- char create_instance_cmd[PATH_MAX] = {0};
+ unsigned int max_size_cmd = sysconf(_SC_ARG_MAX);
+ char *command;
- sprintf(create_qcow_cmd, "qemu-img create -b %s -f qcow2 %s.qcow2",
+ command = malloc(max_size_cmd);
+ if (!command)
+ return;
+
+ sprintf(command, "qemu-img create -b %s -f qcow2 %s.qcow2",
hda_path, hda_path);
- sprintf(create_vgpu_cmd, "echo \"%s\" > /sys/bus/pci/devices/0000:00:02.0/"
+ igt_assert_eq(system(command), 0);
+ memset(command, 0, max_size_cmd);
+
+ sprintf(command, "echo \"%s\" > /sys/bus/pci/devices/0000:00:02.0/"
"mdev_supported_types/$(ls /sys/bus/pci/devices/0000:00:02.0/"
"mdev_supported_types |awk {'print $1'}|tail -1)/create", uuid);
- sprintf(create_instance_cmd, "%s -m 2048 -smp 2 -M pc -name gvtg_guest"
+ igt_assert_eq(system(command), 0);
+ memset(command, 0, max_size_cmd);
+
+ sprintf(command, "%s -m 2048 -smp 2 -M pc -name gvtg_guest"
" -hda %s.qcow2 -bios %s -enable-kvm --net nic,macaddr=%s -net"
" tap,script=/etc/qemu-ifup -vga cirrus -k en-us"
" -serial stdio -vnc :1 -machine kernel_irqchip=on -global"
@@ -137,9 +146,9 @@ static void create_guest(void)
" -usb -usbdevice tablet -device vfio-pci,sysfsdev="
"/sys/bus/pci/devices/0000:00:02.0/%s &",
qemu_path, hda_path, bios_path, mac_addr, uuid);
- igt_assert_eq(system(create_qcow_cmd), 0);
- igt_assert_eq(system(create_vgpu_cmd), 0);
- igt_assert_eq(system(create_instance_cmd), 0);
+ igt_assert_eq(system(command), 0);
+
+ free(command);
}
static void destroy_all_guest(void)
--
2.18.0
More information about the Intel-gfx
mailing list