[
https://issues.apache.org/jira/browse/COLLECTIONS-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942259#comment-17942259
]
Volodymyr Siedlecki edited comment on COLLECTIONS-701 at 4/9/25 6:20 PM:
-------------------------------------------------------------------------
Only code I have is what I shared above.
If you run the jshell (provided with JDKs) command with the built jar as so:
`jshell -{-}class-{-}path /path/to/commons-collections4#.jar` and then you can
test it out:
import org.apache.commons.collections4.list.*;
final List<Object> source = new ArrayList<>();
final List<Object> list = SetUniqueList.setUniqueList(source);
list.add(list);
list.add(list);
was (Author: volosied):
Only code I have is what I shared above.
If you run the jshell (provided with JDKs) command with the built jar as so:
`jshell --class-path /path/to/commons-collections4-#.jar` and then you can test
it out:
import org.apache.commons.collections4.list.*;
final List<Object> source = new ArrayList<>();
final List<Object> list = SetUniqueList.setUniqueList(source);
list.add(list);
list.add(list);
> StackOverflowError in SetUniqueList.add() when it receives itself
> -----------------------------------------------------------------
>
> Key: COLLECTIONS-701
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-701
> Project: Commons Collections
> Issue Type: Bug
> Components: Collection
> Affects Versions: 3.2.2
> Reporter: Shin Hong
> Priority: Critical
> Fix For: 4.3
>
>
> Hi.
> We found that the following test case fails with a StackOverFlowError
> exception:
> {code:java}
> test() {
> SetUniqueList l = new SetUniqueList(new LinkedList<Object>()) ;
> l.add((Object) l) ;
> }{code}
> The add() execution traps into an infinite recursion which crashes the
> program.
> From the stack trace, we found that the infinite recursion occurs
> at AbstractList.hashCode() since it invokes hashCode() of each of its
> elements.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)