diff --git a/exec.c b/exec.c index c09bd93df31e9f43d790f8a2be995e9946eaaeb6..02b1efebb7c39dad224795ce0e0c97c45287318f 100644 --- a/exec.c +++ b/exec.c @@ -1495,6 +1495,7 @@ static int find_max_supported_pagesize(Object *obj, void *opaque) mem_path = object_property_get_str(obj, "mem-path", NULL); if (mem_path) { long hpsize = qemu_mempath_getpagesize(mem_path); + g_free(mem_path); if (hpsize < *hpsize_min) { *hpsize_min = hpsize; } diff --git a/target/i386/sev.c b/target/i386/sev.c index 019d84cef2c7251ff8bfea6893eb834ac07af1e3..c01167143f1c702f66b5ad2431508463106e2a1a 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -748,9 +748,11 @@ sev_guest_init(const char *id) if (s->sev_fd < 0) { error_report("%s: Failed to open %s '%s'", __func__, devname, strerror(errno)); - goto err; } g_free(devname); + if (s->sev_fd < 0) { + goto err; + } ret = sev_platform_ioctl(s->sev_fd, SEV_PLATFORM_STATUS, &status, &fw_error);