Michael Gmelin created XERCESC-1994:
---------------------------------------
Summary: ContentSpecNode::getMaxTotalRange: Operator precedence
flaw
Key: XERCESC-1994
URL: https://issues.apache.org/jira/browse/XERCESC-1994
Project: Xerces-C++
Issue Type: Bug
Components: Validating Parser (XML Schema)
Affects Versions: 3.1.1
Environment: Not relevant, C++ syntax problem
Reporter: Michael Gmelin
Attachments: ContentSpecNode.cpp.patch
ContentSpecType.cpp says at about line 260:
if ((fType & 0x0f) == ContentSpecNode::Choice) {
max = max * (maxFirst > maxSecond) ? maxFirst : maxSecond;
}
Thanks to operator precedence max evaluates either to maxFirst or maxSecond,
but never to max*maxFirst or max*maxSecond.
Adding parenthesis makes this do the right thing:
max = max * ((maxFirst > maxSecond) ? maxFirst : maxSecond);
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]