diff options
Diffstat (limited to 'mysys/tree.c')
-rw-r--r-- | mysys/tree.c | 5 |
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 |