JDK-7131084 : XMLDSig XPathFilter2Transform regression involving intersect filter
  • Type: Bug
  • Component: security-libs
  • Sub-Component: javax.xml.crypto
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2012-01-18
  • Updated: 2012-10-23
  • Resolved: 2012-09-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8
7u4Fixed 8 b25Fixed
Description
A regression has been introduced in JDK 7 in the XMLDSig XPathFilter2 Transform involving the intersect filter. If the intersect filter is present, but the result of the XPath expression is an empty node-set, it ignores the filter rather than properly performing an intersection with an empty node-set, the result of which should always be an empty node-set. The problem is that the code does not distinguish between filters that are not included in the Transform and those that produce an empty node-set.

This is a fairly obscure case and should occur infrequently in practice, as it would signify that the Transform was probably created incorrectly if the intersect filter didn't select any nodes at all.

Comments
EVALUATION This was initially fixed at Apache Santuario (in release 1.5): https://issues.apache.org/jira/browse/SANTUARIO-295 Fix ported to JDK 8.
23-01-2012