SoftReferenceSymbolTable has infinite loop due to cyclical reference in SREntry
linked list.
--------------------------------------------------------------------------------------------
Key: XERCESJ-1423
URL: https://issues.apache.org/jira/browse/XERCESJ-1423
Project: Xerces2-J
Issue Type: Bug
Affects Versions: 2.9.1
Environment: Windows XP SP3, and Arch Linux (2.6.31-ARCH)
Reporter: Joe Baysdon
The rehash( ) method, in org.apache.xerces.util.SoftReferenceSymbolTable, does
not re-set the SREntry.prev pointer to null, so the final entry placed in each
bucket may have an improper "prev" value following the rehash( ). Since the
removeEntry method uses that "prev" pointer to reconnect the linked list around
the removed link, the linked list can contain an illegal cycle. These cycles
may produce infinite loops in either of the addSymbol methods or in the rehash
method, itself.
The solution is to this line:
e.prev = null;
to the rehash method, following this line:
e.next = newTable[index];
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]