diff options
author | Joe Thornber <ejt@redhat.com> | 2018-09-20 14:20:16 +0100 |
---|---|---|
committer | Joe Thornber <ejt@redhat.com> | 2018-09-20 14:20:16 +0100 |
commit | ebd2d7773f2531bd5dddb97c061ddb74af117844 (patch) | |
tree | d376a5d3cbcf82354a6e9ef76cf984be963c7995 /base | |
parent | 0ac7913c6a43c5bcfbba735652041a0eae4180c6 (diff) | |
download | lvm2-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.c | 3 |
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; |