[ 
https://issues.apache.org/jira/browse/XERCESJ-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anli Shundi updated XERCESJ-1423:
---------------------------------

    Attachment: XERCESJ-1423.patch

patch

> 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
>         Attachments: XERCESJ-1423.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> 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