Hi all,

int
 main ()
 {
 int *p;
 int i;

p = (int *) malloc (400 * sizeof (int));
 for (i = 0; i < 512; i++)
 {
 p[i] = i;
 printf ("p[%d]: %d\n", i, p[i]);
 }
 return 0;
 }
 The following code should terminate with Segmentation fault, right ?
 But when I tried, it works even beyond the limits of allocated area ...
 I am using Glibc - 2.3.2-11.9 , gcc - 3.2.2

 Is it a bug - malloc's implementation in Glibc.
 Does malloc allocates a complete 4k page for certain size of memory asked for?

 Infact, it gives a segmentation fault at 1681 location =>
 p[1681]: 1681
 Segmentation fault

Or is it using Heap area ?

--
Regards,
Sandeep

Reply via email to