[LLVMbugs] [Bug 9702] LLVM miscompiles dlls/oleaut32/tmarshal.c from Wine

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Dec 21 16:40:56 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=9702

Eli Friedman <sharparrow1 at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID

--- Comment #12 from Eli Friedman <sharparrow1 at yahoo.com> 2012-12-21 18:40:56 CST ---
> static DWORD
> xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
> {
>     DWORD               *args = ((DWORD*)&tpinfo)+1, *xargs;

The subsequent use of "args" is undefined behavior. tpinfo is a single
pointer-sized variable; we make no guarantees about the layout of other
variables/arguments/etc. relative to it.  The only supported way to do  varargs
in C is to use stdarg.h.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list