From da39fddfe6e2e39fcb87be761066ec5dd5812c5e Mon Sep 17 00:00:00 2001
From: Konstantin Osipov <kostja@tarantool.org>
Date: Thu, 15 Aug 2013 19:11:49 +0400
Subject: [PATCH] Fix memory corruption in tree index during recovery from
 snapsht.

When tree.max_size is 0, tree.max_size * 2 is also 0.
---
 src/box/tree_index.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/box/tree_index.cc b/src/box/tree_index.cc
index bdb69e6b60..b5a4df66eb 100644
--- a/src/box/tree_index.cc
+++ b/src/box/tree_index.cc
@@ -377,7 +377,7 @@ void
 TreeIndex::buildNext(struct tuple *tuple)
 {
 	if (tree.size == tree.max_size) {
-		tree.max_size *= 2;
+		tree.max_size = MAX(tree.max_size * 2, 64);
 
 		size_t sz = tree.max_size * sizeof(struct sptree_index_node);
 		tree.members = realloc(tree.members, sz);
-- 
GitLab