aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-04-04 11:13:52 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-04-04 11:13:52 +0100
commit094b62cd9cd9f137cf75b4931e41b8953fb4ccd9 (patch)
tree75e5f3020d735f64d780bc78f99fd6f2c43bcf14
parent71ad102baa599c3bdeee1f6d0913bbd3e0f08ee3 (diff)
parent5d7bc72a4336f922ba42bab545529051c706ac4b (diff)
downloadqemu-094b62cd9cd9f137cf75b4931e41b8953fb4ccd9.zip
qemu-094b62cd9cd9f137cf75b4931e41b8953fb4ccd9.tar.gz
qemu-094b62cd9cd9f137cf75b4931e41b8953fb4ccd9.tar.bz2
Merge remote-tracking branch 'remotes/ehabkost/tags/x86-next-pull-request' into staging
Fix memory leaks when using object_property_get_str() # gpg: Signature made Tue 03 Apr 2018 15:00:10 BST # gpg: using RSA key 2807936F984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/x86-next-pull-request: sev/i386: fix memory leak in sev_guest_init() exec: fix memory leak in find_max_supported_pagesize() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--exec.c1
-rw-r--r--target/i386/sev.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/exec.c b/exec.c
index c09bd93..02b1efe 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 019d84c..c011671 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);