Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!HERMES.CHPC.UTEXAS.EDU!cmft552 From: cmft552@HERMES.CHPC.UTEXAS.EDU (Christopher Marshall) Newsgroups: gnu.utils.bug Subject: Bug in make-3.57 Message-ID: <8911292159.AA25311@hermes.chpc.utexas.edu> Date: 29 Nov 89 21:59:19 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 23 Make crashed in the routine free() when using the shell function. The problem was traced to a pointer being incremented and then passed to the free() routine. The context diffs to function.c are as follows: *** function.c1.1 Wed Nov 29 15:47:39 1989 --- function.c1.2 Wed Nov 29 15:48:07 1989 *************** *** 417,421 **** if (i > 0 && buffer[i - 1] == '\n') buffer[--i] = '\0'; ! for (p = buffer; (p = index (buffer, '\n')) != 0; buffer = ++p) *p = ' '; o = variable_buffer_output (o, buffer, i); --- 417,421 ---- if (i > 0 && buffer[i - 1] == '\n') buffer[--i] = '\0'; ! for (p = buffer; (p = index (buffer, '\n')) != 0; ) *p = ' '; o = variable_buffer_output (o, buffer, i); Christopher Marshall cmft552@hermes.chpc.utexas.edu