summaryrefslogtreecommitdiff
path: root/mysys/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'mysys/tree.c')
-rw-r--r--mysys/tree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mysys/tree.c b/mysys/tree.c
index 68eaecbb27b..eba058b22f8 100644
--- a/mysys/tree.c
+++ b/mysys/tree.c
@@ -221,7 +221,10 @@ TREE_ELEMENT *tree_insert(TREE *tree, void *key, uint key_size,
}
if (element == &tree->null_element)
{
- uint alloc_size=sizeof(TREE_ELEMENT)+key_size+tree->size_of_element;
+ uint alloc_size;
+ if (tree->flag & TREE_ONLY_DUPS)
+ return((TREE_ELEMENT *) 1);
+ alloc_size=sizeof(TREE_ELEMENT)+key_size+tree->size_of_element;
tree->allocated+=alloc_size;
if (tree->memory_limit && tree->elements_in_tree