[ 
https://issues.apache.org/jira/browse/XERCESC-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16964120#comment-16964120
 ] 

martin goodall commented on XERCESC-2179:
-----------------------------------------

see attached suggested fix (find mrg). Also note, the lengths passed into some 
functions need to include the 1 byte null terminator, according to MS 
documentation. Not knowing the MS internals, if the MS library was to copy the 
memory to another structure, based on the length, it would not copy the NULL 
terminator if it was not included in the length. This could cause subsequent 
issues if the MS library then performed string operations on the new 
buffer....basically, best to follow how the documentation says to call the 
functions.

The symptoms of this bug is very random segs, because the memory that got 
overwritten was occasionally the base pointer for the hashed memory operations.

> 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
>         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

Reply via email to