https://issues.apache.org/bugzilla/show_bug.cgi?id=49458

           Summary: StorageResolver always exhausted after first use
           Product: Security
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Encryption
        AssignedTo: security-dev@xml.apache.org
        ReportedBy: clement_pelle...@ibi.com
        Depends on: 49456


Created an attachment (id=25608)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25608)
source code patch with augmented junit

The StorageResolver creates an iterator once and always returns the same
iterator afterwards. After the iterator is traversed once, it will always
appear empty. Even if the implementation would be changed to reset the iterator
to the beginning, the single iterator instance approach will never
be thread-safe.

To reproduce use the junit in attachment.

The solution is to return a new iterator each time.
Since the methods StorageResolver.hasNext() and StorageResolver.next() cannot
use this solution, they have been marked deprecated.
The KeyResolvers have been changed to call StorageResolver.getIterator()
instead.

This patch assumes the patch in Bug 49456 has already been applied.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to