Re: Hi, Needs suggestions for finding and fixing stack/memory corruption when calling a function
Glynn Clements <[email protected]> Tue, 24 May 2011 13:48:20 +0100
| Newsgroups | org.kernel.vger.linux-c-programming |
|---|---|
| Message-ID | <[email protected]> |
Fawad Lateef wrote:
> For now I added two more temporary arguments between 1st and 2nd
> arguments and the required arguments getting correct values thats
> why I am assuming that by adding temporary variables we moved the
> memory corruption from real arguments into temporary arguments.
> After adding these arguments my function is behaving correctly so
> for now this is a work-around _but_ I want to figure-out its proper
> fix (as the same sort of issue we faced in our cgi based web-pages
> code some weeks earlier).
>
> Hence I needs suggestion that is this really a memory corruption or
> some compiler issues ? If its a compiler issue then its not a big
> problem but if its memory corruption issue then we have to _fix_ it
> asap.
Check the assembler output ("gcc -S ...").
Personally, I'd be more inclined to suspect register corruption. Are
you calling a library function which use a different ABI? E.g. if your
code is compiled for an ABI where certain registers are preserved but
calling a function using an ABI which doesn't preserver those
registers, then you'll have problems.
--
Glynn Clements <[email protected]>