summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2014-02-04 08:32:55 -0500
committerEric Milkie <milkie@10gen.com>2014-02-04 08:33:05 -0500
commit419bc91c2cdf2e10f3e7a1754ac92a1e6c69d964 (patch)
tree5120e8102833e77217da51a7b4bfb62eaa0ee296
parent7fa028e8fa7b961d69769172565791b1dd5caec4 (diff)
downloadmongo-419bc91c2cdf2e10f3e7a1754ac92a1e6c69d964.tar.gz
SERVER-12481 fix off-by-one error with IndexBuildsInProgress::remove
-rw-r--r--src/mongo/db/pdfile.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mongo/db/pdfile.cpp b/src/mongo/db/pdfile.cpp
index 4085dfd2b3f..b397061c397 100644
--- a/src/mongo/db/pdfile.cpp
+++ b/src/mongo/db/pdfile.cpp
@@ -1589,7 +1589,8 @@ namespace mongo {
Lock::assertWriteLocked(ns);
NamespaceDetails* nsd = nsdetails(ns);
- for (int i=offset; i<nsd->getTotalIndexCount(); i++) {
+ // offset is 0-based, so we subtract one from the index count
+ for (int i = offset; i < (nsd->getTotalIndexCount() - 1); i++) {
if (i < NamespaceDetails::NIndexesMax-1) {
*getDur().writing(&nsd->idx(i)) = nsd->idx(i+1);
nsd->setIndexIsMultikey(ns, i, nsd->isMultikey(i+1));