[ https://issues.apache.org/jira/browse/XERCESC-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16964160#comment-16964160 ]
martin goodall commented on XERCESC-2179: ----------------------------------------- its the default code path on windows and always gets called. If Unicode is used, the default has to be overridden and it wouldn't happen. The issue would not exist if compiled as 32 bit, only 64 bit. It took 5 days to track down the issue as the effect of the overwrite is in a totally unrelated part of code at a later point and very infrequent. Only 8 bytes of stack are being trampled, which stops normal memory checking techniques identifying it. At the end of the day, now its tracked down, you can visually see the code is wrong - hope the fix helps. > 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 > 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