commit | 3300f9cd89202e417dee8f1799e88f955d75ac89 | [log] [tgz] |
---|---|---|
author | rsc <devnull@localhost> | Sat Jan 15 20:54:41 2005 +0000 |
committer | rsc <devnull@localhost> | Sat Jan 15 20:54:41 2005 +0000 |
tree | cc97f4b001e8bb1da1d29e147085e452be39c68b | |
parent | 5ad21e86207dd42295733010dd448b51a614b611 [diff] [blame] |
Long-standing bug in syminit, tickled by placing initshell before syminit. Don't understand why syminit exists at all.
diff --git a/src/cmd/mk/symtab.c b/src/cmd/mk/symtab.c index 6f7b888..06a4d14 100644 --- a/src/cmd/mk/symtab.c +++ b/src/cmd/mk/symtab.c
@@ -7,11 +7,13 @@ void syminit(void) { - Symtab **s, *ss; + Symtab **s, *ss, *next; for(s = hash; s < &hash[NHASH]; s++){ - for(ss = *s; ss; ss = ss->next) + for(ss = *s; ss; ss = next){ + next = ss->next; free((char *)ss); + } *s = 0; } }