Mail Archives: djgpp/1996/09/18/17:40:41
Errors-To: postmaster AT ns1
From: cs3prj04 AT lion DOT cs DOT latrobe DOT edu DOT au (Cs3prj Group 04)
Newsgroups: comp.lang.c++,comp.lang.c,comp.os.msdos.djgpp
Date: 18 Sep 1996 09:34:29 GMT
Organization: Comp.Sci & Comp.Eng, La Trobe Uni, Australia
Lines: 165
Distribution: world
Nntp-Posting-Host: lion.cs.latrobe.edu.au
Dj-Gateway: from newsgroup comp.os.msdos.djgpp
Content-Type: text
Content-Length: 4272
I am getting a bus error in t_delete immediatley after a call to malloc
(see below - look for BUS ERROR). It happens in a rather large program after
one particular modulehas been called and terminated. This module reads a file
into an array of strings for viewing. The module concerned is to large to
include in here but it does execute and terminate normally.
Does this mean anything to anyone?
[SNIP]
char *ErrorHandler(int ErrorNo)
{
int fd,i, CharsRead;
char Buffer[BufferSize], MessageBuffer[SIZE];
BUS ERROR OCCURS AFTER THIS NEXT STATEMENT.
int *LineIndex = (int*)malloc(sizeof(int)*MAX_LINES); /*array oflineoffsets*/
char *message = (char *)malloc(sizeof(char)*SIZE);
[SNIP]
I usually see this kind of error when some other piece of code has either
freed an address which was never malloc()d or freed it twice. Look in that
module which recently terminated for a free() of an incorrect pointer, like
a pointer to an automatic or static, or for a free which could possibly be
called more than once.
--
Art S. Kagel, kagel AT quasar DOT bloomberg DOT com
A proverb is no proverb to you 'till life has illustrated it. -- John Keats
- Raw text -