summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-05-13 09:49:52 +0000
committerngie <ngie@FreeBSD.org>2016-05-13 09:49:52 +0000
commit4b32d6fd17461cf94aa5beb9217985fd26d6a36b (patch)
treed74420763fe6e3070d1dbaff14b78d7066a66f77 /lib
parentca3b4476371a94443d26a1f332dff1d76c0e344d (diff)
downloadFreeBSD-src-4b32d6fd17461cf94aa5beb9217985fd26d6a36b.zip
FreeBSD-src-4b32d6fd17461cf94aa5beb9217985fd26d6a36b.tar.gz
MFC r298842:
Don't leak PML4 in _amd64_initvtop(..) if kvm_read2(..) fails CID: 1341474
Diffstat (limited to 'lib')
-rw-r--r--lib/libkvm/kvm_amd64.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libkvm/kvm_amd64.c b/lib/libkvm/kvm_amd64.c
index 65d697c..b64ea77 100644
--- a/lib/libkvm/kvm_amd64.c
+++ b/lib/libkvm/kvm_amd64.c
@@ -200,6 +200,7 @@ _kvm_initvtop(kvm_t *kd)
PML4 = _kvm_malloc(kd, PAGE_SIZE);
if (kvm_read(kd, pa, PML4, PAGE_SIZE) != PAGE_SIZE) {
_kvm_err(kd, kd->program, "cannot read KPML4phys");
+ free(PML4);
return (-1);
}
kd->vmst->PML4 = PML4;
OpenPOWER on IntegriCloud