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]

Reply via email to