diff options
| author | Robert Morris <rtm@csail.mit.edu> | 2019-10-27 13:36:46 -0400 | 
|---|---|---|
| committer | Robert Morris <rtm@csail.mit.edu> | 2019-10-27 13:36:46 -0400 | 
| commit | e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079 (patch) | |
| tree | 0e1642db92cca1d0c5852a8a5f8729d175222d24 /kernel | |
| parent | d9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a (diff) | |
| download | xv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.tar.gz xv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.tar.bz2 xv6-labs-e7ffb74ad1e4c4e8a4a5e62968f52499dc0c7079.zip | |
fix a potential memory leak
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/proc.c | 3 | ||||
| -rw-r--r-- | kernel/vm.c | 3 | 
2 files changed, 3 insertions, 3 deletions
| diff --git a/kernel/proc.c b/kernel/proc.c index ef2ad68..0cb5afe 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -176,8 +176,7 @@ proc_freepagetable(pagetable_t pagetable, uint64 sz)  {    uvmunmap(pagetable, TRAMPOLINE, PGSIZE, 0);    uvmunmap(pagetable, TRAPFRAME, PGSIZE, 0); -  if(sz > 0) -    uvmfree(pagetable, sz); +  uvmfree(pagetable, sz);  }  // a user program that calls exec("/init") 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);  } | 
