[ https://issues.apache.org/jira/browse/XERCESC-1866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Kolpackov updated XERCESC-1866: ------------------------------------- Fix Version/s: (was: 3.1.0) 4.0.0 3.2.0 I have committed the attached patch for 3.1.0. I am leaving this bug open and rescheduling it for 3.2.0/4.0.0 since this seems to be a temporary fix. > Crash with regular expression > ----------------------------- > > Key: XERCESC-1866 > URL: https://issues.apache.org/jira/browse/XERCESC-1866 > Project: Xerces-C++ > Issue Type: Bug > Components: Utilities > Environment: Windows XP, Visual Studio 2005 > Reporter: Alexander Hartmann > Assignee: David Bertoni > Fix For: 3.2.0, 4.0.0 > > Attachments: XERCESC-1866.patch > > > when I run the following test code my application crashes on the second > regEx.matches call: > { > XMLBuffer optionsBuf; > optionsBuf.append('i'); > optionsBuf.append('H'); > RegularExpression regEx(L"^\\W*Excel\\W*$", optionsBuf.getRawBuffer()); > regEx.matches("Excel"); > } > { > XMLBuffer optionsBuf; > optionsBuf.append('i'); > optionsBuf.append('H'); > RegularExpression regEx(L"^\\W*Excel\\W*$", optionsBuf.getRawBuffer()); > regEx.matches("Excel"); > } > some details I found during debugging: > - there is an instance of RangeToken where I have no idea where this is > created. I've set a breakpoint in the constructor but the debugger does not > stop. > - when RangeToken::getCaseInsensitiveToken is called a new RangeToken is > created and stored in fCaseIToken > - when parsing is finished the newly created RangeToken is deleted (through > ~RegularExpression -> ~TokenFactory), but the original RangeToken (where I > don't know where it is created) still exists and references the deleted > RangeToken in fCaseIToken > - the next time RangeToken::getCaseInsensitiveToken is called the invalid > reference fCaseIToken is returned and this leads to a crash when it is > accessed. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org