You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2004/11/10 13:52:28 UTC
svn commit: rev 57153 - incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core
Author: tripod
Date: Wed Nov 10 04:52:28 2004
New Revision: 57153
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NodeImpl.java
Log:
- guard against ArrayIndexOutOfBounds
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NodeImpl.java
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NodeImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NodeImpl.java Wed Nov 10 04:52:28 2004
@@ -227,12 +227,14 @@
propState.setValues(genValues);
} else if (def.getDefaultValues() != null) {
Value[] vals = def.getDefaultValues();
- int length = (def.isMultiple() ? vals.length : 1);
- InternalValue[] defVals = new InternalValue[length];
- for (int i = 0; i < length; i++) {
- defVals[i] = InternalValue.create(vals[i], session.getNamespaceResolver());
+ if (vals.length>0) {
+ int length = (def.isMultiple() ? vals.length : 1);
+ InternalValue[] defVals = new InternalValue[length];
+ for (int i = 0; i < length; i++) {
+ defVals[i] = InternalValue.create(vals[i], session.getNamespaceResolver());
+ }
+ propState.setValues(defVals);
}
- propState.setValues(defVals);
}
} catch (ItemStateException ise) {
String msg = "failed to add property " + name + " to " + safeGetJCRPath();