summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2018-09-20 14:20:16 +0100
committerJoe Thornber <ejt@redhat.com>2018-09-20 14:20:16 +0100
commitebd2d7773f2531bd5dddb97c061ddb74af117844 (patch)
treed376a5d3cbcf82354a6e9ef76cf984be963c7995 /base
parent0ac7913c6a43c5bcfbba735652041a0eae4180c6 (diff)
downloadlvm2-ebd2d7773f2531bd5dddb97c061ddb74af117844.tar.gz
[radix-tree] Fix bug in _degrade_to_n16
Values were getting shuffled
Diffstat (limited to 'base')
-rw-r--r--base/data-struct/radix-tree-adaptive.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/base/data-struct/radix-tree-adaptive.c b/base/data-struct/radix-tree-adaptive.c
index a657b2bac..23e69f842 100644
--- a/base/data-struct/radix-tree-adaptive.c
+++ b/base/data-struct/radix-tree-adaptive.c
@@ -581,12 +581,11 @@ static void _degrade_to_n16(struct node48 *n48, struct value *result)
for (i = 0; i < 256; i++) {
if (n48->keys[i] < 48) {
n16->keys[count] = i;
+ n16->values[count] = n48->values[n48->keys[i]];
count++;
}
}
- memcpy(n16->values, n48->values, n48->nr_entries * sizeof(*n16->values));
-
free(n48);
result->type = NODE16;