Andrew Pinski - Re: Abnormal behavior of malloc in gcc-3.2.2 (original) (raw)
This is the mail archive of the gcc@gcc.gnu.orgmailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] |
- From: Andrew Pinski
- To: sandeepksinha at gmail dot com (Sandeep Kumar)
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 21 Nov 2005 00:02:24 -0500 (EST)
- Subject: Re: Abnormal behavior of malloc in gcc-3.2.2
Hi Everyone,
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 ?
First why do you think this is a GCC bug? Second you are invoking undefined behavior by accessing passed the array bounds (or allocated bounds by malloc).
-- Pinski
- Follow-Ups:
- Re: Abnormal behavior of malloc in gcc-3.2.2
* From: Sandeep Kumar
- Re: Abnormal behavior of malloc in gcc-3.2.2
- References:
- Abnormal behavior of malloc in gcc-3.2.2
* From: Sandeep Kumar
- Abnormal behavior of malloc in gcc-3.2.2
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |