[
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: [email protected]
For additional commands, e-mail: [email protected]