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)