From ba29b0f8216baba3c804a2a8336384dab389c286 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Fri, 12 Jun 2015 14:35:23 +0000
Subject: [PATCH] OPENDJ-2135: verify-index: IndexOutOfBoundsException
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
index 777513a..433acb0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
@@ -190,14 +190,19 @@
return false;
}
// Immediate children should only have one RDN separator past the parent length
- for (int i = child.length(); i >= parent.length(); i--)
+ int nbSeparator = 0;
+ for (int i = parent.length() ; i < child.length(); i++)
{
- if (child.byteAt(i) == DN.NORMALIZED_RDN_SEPARATOR && i != parent.length())
+ if (child.byteAt(i) == DN.NORMALIZED_RDN_SEPARATOR)
{
- return false;
+ nbSeparator++;
+ if (nbSeparator > 1)
+ {
+ return false;
+ }
}
}
- return true;
+ return (nbSeparator == 1);
}
/**
--
Gitblit v1.10.0