[ https://issues.apache.org/jira/browse/XERCESC-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16966750#comment-16966750 ]
martin goodall commented on XERCESC-2179: ----------------------------------------- your looking at the wrong part of code if (!isAlias(encodingKey)) { // // Lets get the two values out of this key that we are // interested in. There should be a code page entry and an // IE entry. // // The Codepage entry is the default code page for a computer using that charset // while the InternetEncoding holds the code page that represents that charset // // unsigned long theType; unsigned int CPId; unsigned int IEId; // mrg according to MS documentation, the length should include the NULL terminator theSize = sizeof(unsigned int) + 1; if (::RegQueryValueExA ( encodingKey , "Codepage" , 0 // mrg // memory was overrun when theType was uploaded as it should have been type LPDWORD (64 bits bytes not 32) // , &theType , NULL , (LPBYTE) &CPId , (LPDWORD) &theSize) != ERROR_SUCCESS) { ::RegCloseKey(encodingKey); continue; } > 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