[ https://issues.apache.org/jira/browse/XERCESC-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16966783#comment-16966783 ]
martin goodall commented on XERCESC-2179: ----------------------------------------- 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: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org