commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeffrey Barnes (JIRA)" <>
Subject [jira] [Updated] (COLLECTIONS-447) TreeListIterator can return incorrect results after remove() is called
Date Sun, 03 Mar 2013 03:27:14 GMT


Jeffrey Barnes updated COLLECTIONS-447:

    Attachment: fix.patch
> TreeListIterator can return incorrect results after remove() is called
> ----------------------------------------------------------------------
>                 Key: COLLECTIONS-447
>                 URL:
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Collection
>    Affects Versions: Nightly Builds
>         Environment: Windows 7, jdk1.5.0_22
>            Reporter: Jeffrey Barnes
>              Labels: patch, test
>         Attachments: fix.patch, testcase.patch
> {{TreeList.TreeListIterator}} can get in a bad state when {{remove()}} is called, causing
it to subsequently return incorrect results. This is because {{TreeListIterator}} caches an
{{AVLNode}} reference in its field {{next}}, and this node reference may become stale when
{{remove()}} is called (it may contain a reference to a node that no longer exists in the
> I will attach two patches: {{testcase.patch}} will contain a test case illustrating the
bug, and {{fix.patch}} will contain a fix. (To fix the bug, I simply clear the cached {{next}}
value in {{TreeListIterator.remove}}.)
> This was originally reported in a comment to COLLECTIONS-433; I am creating a separate
issue for this at Thomas Neidhart's suggestion.

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:

View raw message