[exo-jcr-commits] exo-jcr SVN: r5833 - jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Mar 12 03:04:32 EDT 2012
Author: tolusha
Date: 2012-03-12 03:04:31 -0400 (Mon, 12 Mar 2012)
New Revision: 5833
Modified:
jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
Log:
EXOJCR-1799: Prevent an infinite loop in case a node is its own parent
Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2012-03-12 07:02:49 UTC (rev 5832)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2012-03-12 07:04:31 UTC (rev 5833)
@@ -1671,6 +1671,11 @@
new QPathEntry(InternalQName.parse(parent.getString(COLUMN_NAME)), parent.getInt(COLUMN_INDEX), caid);
qrpath.add(qpe);
caid = parent.getString(COLUMN_PARENTID);
+
+ if (caid.equals(parent.getString(COLUMN_ID)))
+ {
+ throw new InvalidItemStateException("An item with id='" + getIdentifier(caid) + "' is its own parent");
+ }
}
finally
{
More information about the exo-jcr-commits
mailing list