[ 
http://jira.magnolia-cms.com/browse/MAGNOLIA-3578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grégory Joseph updated MAGNOLIA-3578:
-------------------------------------

    Description: 
ExtendingContentWrapper does not check if it's extending itself, and as such, 
one can get a StackOverflowError if one accidentally configures the following:
{{foo/bar/extends = ../bar}}

{noformat}
Exception in thread "Thread-19" java.lang.StackOverflowError
        at 
org.apache.commons.collections.map.AbstractReferenceMap.purgeBeforeRead(AbstractReferenceMap.java:337)
<...>
        at info.magnolia.cms.core.DefaultContent.<init>(DefaultContent.java:120)
        at 
info.magnolia.cms.core.DefaultContent.getContent(DefaultContent.java:188)
        at 
info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:137)
        at 
info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:104)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
<...>
{noformat}

It should be doable to fail early in such misconfiguration cases, with a more 
explicit exception message.

  was:
ExtendingContentWrapper does not check if it's extending itself, and as such, 
one can get a StackOverflowError if one accidentally configures the following:
{{foo/bar/extends = ../bar}}

{noformat}
Exception in thread "Thread-19" java.lang.StackOverflowError
        at 
org.apache.commons.collections.map.AbstractReferenceMap.purgeBeforeRead(AbstractReferenceMap.java:337)
<...>
        at info.magnolia.cms.core.DefaultContent.<init>(DefaultContent.java:120)
        at 
info.magnolia.cms.core.DefaultContent.getContent(DefaultContent.java:188)
        at 
info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:137)
        at 
info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:104)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
        at 
info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
<...>
{noformat}


> ExtendingContentWrapper (extends) can overflow if self-refering
> ---------------------------------------------------------------
>
>                 Key: MAGNOLIA-3578
>                 URL: http://jira.magnolia-cms.com/browse/MAGNOLIA-3578
>             Project: Magnolia
>          Issue Type: Bug
>          Components: core
>            Reporter: Grégory Joseph
>            Assignee: Philipp Bärfuss
>             Fix For: 4.4.3
>
>
> ExtendingContentWrapper does not check if it's extending itself, and as such, 
> one can get a StackOverflowError if one accidentally configures the following:
> {{foo/bar/extends = ../bar}}
> {noformat}
> Exception in thread "Thread-19" java.lang.StackOverflowError
>       at 
> org.apache.commons.collections.map.AbstractReferenceMap.purgeBeforeRead(AbstractReferenceMap.java:337)
> <...>
>       at info.magnolia.cms.core.DefaultContent.<init>(DefaultContent.java:120)
>       at 
> info.magnolia.cms.core.DefaultContent.getContent(DefaultContent.java:188)
>       at 
> info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:137)
>       at 
> info.magnolia.cms.core.AbstractNodeData.getReferencedContent(AbstractNodeData.java:104)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.<init>(ExtendingContentWrapper.java:96)
>       at 
> info.magnolia.cms.util.ExtendingContentWrapper.wrapIfNeeded(ExtendingContentWrapper.java:131)
> <...>
> {noformat}
> It should be doable to fail early in such misconfiguration cases, with a more 
> explicit exception message.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to