Vulnerability Development mailing list archives
Re: Stack Allocations
From: "Jeff" <lists () jeff ath cx>
Date: Mon, 9 Jul 2001 16:54:02 -0700
Hello, I ran into the same question when I first discovered buffer overflow papers. I asked around at the time and the most I could figure out was that it's some kind of "pillow" of caution. Seems kinda strange to me too that the C compiler gives you ANY leeway like that at all, but it does. I don't know why, but I know that not many people know why either :) Jeff ----- Original Message ----- From: <msoda () aspre net> To: <vuln-dev () securityfocus com> Sent: Monday, July 09, 2001 6:27 AM Subject: Stack Allocations
Hey all,
I have been reading up on buffer overflows and have noticed something odd
with gcc assembly output. Consider the following:
void func()
{
char buf[15];
}
main()
{
func();
}
When running 'gcc -S' it shows that 24 bytes are allocated on the stack
for buf[]. I thought it should allocate only 16 bytes. It works fine, it
just makes no sense to me. If I tweak the assembly and change it to 16
bytes and also change the offsets to %ebp that reference it, it works fine
also.
Does anyone know why gcc does this? My need to understand everything is
killing me!
-Marc
Current thread:
- Stack Allocations msoda (Jul 09)
- Re: Stack Allocations Andrew Barros (Jul 12)
- Re: Stack Allocations Marc Soda (Jul 13)
- Re: Stack Allocations wwieser (Jul 14)
- <Possible follow-ups>
- Re: Stack Allocations Jeff (Jul 10)
- Re: Stack Allocations Andrew Barros (Jul 12)
