bin/55346: /bin/sh eats memory and CPU infinitely

Eugene Grosbein eugen at grosbein.pp.ru
Fri Aug 15 06:15:11 PDT 2003


I think I've found a memory leak in /bin/sh.
There is a case when dowait() and does frees resources of
completed job correctly. Here is a patch:

Index: jobs.c
===================================================================
RCS file: /home/ncvs/src/bin/sh/jobs.c,v
retrieving revision 1.27.2.11
diff -u -r1.27.2.11 jobs.c
--- jobs.c	22 Jul 2003 13:11:26 -0000	1.27.2.11
+++ jobs.c	15 Aug 2003 13:02:23 -0000
@@ -960,10 +960,8 @@
 				if (jp->state != state) {
 					TRACE(("Job %d: changing state from %d to %d\n", jp - jobtab + 1, jp->state, state));
 					jp->state = state;
-#if JOBS
 					if (done)
-						deljob(jp);
-#endif
+					    freejob(jp);
 				}
 			}
 		}
 
Eugene Grosbein


More information about the freebsd-stable mailing list