summaryrefslogtreecommitdiff
path: root/kernel/vm.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-10-27 13:36:46 -0400
committerRobert Morris <[email protected]>2019-10-27 13:36:46 -0400
commite7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079 (patch)
tree0e1642db92cca1d0c5852a8a5f8729d175222d24 /kernel/vm.c
parentd9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a (diff)
downloadxv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.tar.gz
xv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.tar.bz2
xv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.zip
fix a potential memory leak
Diffstat (limited to 'kernel/vm.c')
-rw-r--r--kernel/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/vm.c b/kernel/vm.c
index c5da0c1..3004bb3 100644
--- a/kernel/vm.c
+++ b/kernel/vm.c
@@ -301,7 +301,8 @@ freewalk(pagetable_t pagetable)
void
uvmfree(pagetable_t pagetable, uint64 sz)
{
- uvmunmap(pagetable, 0, sz, 1);
+ if(sz > 0)
+ uvmunmap(pagetable, 0, sz, 1);
freewalk(pagetable);
}