Realloc() problem with Efence
Alain Birtz
abz at videotron.ca
Thu Jul 29 07:48:42 EST 1999
What is wrong with this code ?
Code is executed correctly without Electric Fence
But linked with Efence library, dbg complaint:
Electric Fence 2.0.5 Copyright (C) 1987-1998 Bruce Perens.
...
...
Program received signal SIGSEGV, Segmentation fault.
when trying to write the first B, just after the first memory allocation
buffer
(at the instruction (*c_ptr++ = 'B'))
void tst ()
{
int i;
char *c_buf, *c_ptr, *temp_c_buf;
c_buf = (char *)malloc(5000);
if (c_buf != NULL)
{
c_ptr = c_buf;
for (i = 0; i < 5000; i++)
*c_ptr++ = 'A';
temp_c_buf = c_buf;
realloc(temp_c_buf, 5000 + 5000);
if (temp_c_buf != NULL)
{
for (i = 0; i < 5000; i++)
*c_ptr++ = 'B';
}
}
}
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
More information about the Linuxppc-dev
mailing list