[
https://issues.apache.org/jira/browse/XERCESC-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
martin goodall updated XERCESC-2179:
------------------------------------
Comment: was deleted
(was: unsigned int = 4
{color:#172b4d} unsigned int* = 8{color}
{color:#172b4d} LPDWORD = 8{color}
{color:#172b4d} LPDWORD* = 8{color}
{color:#172b4d} DWORD = 4{color}
{color:#172b4d} DWORD* = 8{color}
{color:#172b4d} unsigned long = 4{color}
{color:#172b4d} unsigned long* = 8{color}
{color:#172b4d}is a DWORD pointer, that's 8 not 4.{color}
{color:#172b4d}DWORD *pMemory = {color}{color:#172b4d}(DWORD *{color})
{color:#172b4d}malloc (1000);{color}
{color:#172b4d}*pMemory = 0; // this over writes 64 bits not 32 bits. Try it in
a debugger if you are in any doubt. this is what happens inside ::Reg. There is
only 32 bits on the stack.{color}
I cant help much more but point you in the correct direction.....sorry!
)
> access violation in win32transservice.cpp with 64 bit compile
> -------------------------------------------------------------
>
> Key: XERCESC-2179
> URL: https://issues.apache.org/jira/browse/XERCESC-2179
> Project: Xerces-C++
> Issue Type: Bug
> Components: DOM
> Affects Versions: 3.2.2
> Reporter: martin goodall
> Assignee: Alberto Massari
> Priority: Blocker
> Fix For: 3.2.3
>
> Attachments: Win32TransService.cpp
>
>
> calls to ::Reg... to get registry info are passing in stack variables that
> are 8 bytes long into functions that overwrite 16 bytes, causing memory
> overwrite and very random segs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]