diff --git a/proc.c b/proc.c
index 9ab4922099bdb71ceac4ceca996b188bbf249c31..554ad2814ef7b98245b6859d8ae451391d84a839 100644
--- a/proc.c
+++ b/proc.c
@@ -29,7 +29,6 @@ pinit(void)
 static struct proc*
 allocproc(void)
 {
-  int i;
   struct proc *p;
 
   acquire(&ptable.lock);
@@ -209,7 +208,6 @@ void
 scheduler(void)
 {
   struct proc *p;
-  int i;
 
   for(;;){
     // Enable interrupts on this processor, in lieu of saving intena.
@@ -327,7 +325,7 @@ wakeup1(void *chan)
 {
   struct proc *p;
 
-  for(p = proc; p < &proc[NPROC]; p++)
+  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++)
     if(p->state == SLEEPING && p->chan == chan)
       p->state = RUNNABLE;
 }
@@ -414,7 +412,7 @@ int
 wait(void)
 {
   struct proc *p;
-  int i, havekids, pid;
+  int havekids, pid;
 
   acquire(&ptable.lock);
   for(;;){
@@ -465,7 +463,7 @@ procdump(void)
   [RUNNING]   "run   ",
   [ZOMBIE]    "zombie"
   };
-  int i, j;
+  int i;
   struct proc *p;
   char *state;
   uint pc[10];
@@ -480,8 +478,8 @@ procdump(void)
     cprintf("%d %s %s", p->pid, state, p->name);
     if(p->state == SLEEPING){
       getcallerpcs((uint*)p->context->ebp+2, pc);
-      for(j=0; j<10 && pc[j] != 0; j++)
-        cprintf(" %p", pc[j]);
+      for(i=0; i<10 && pc[i] != 0; i++)
+        cprintf(" %p", pc[i]);
     }
     cprintf("\n");
   }