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