[lvm-devel] master - [radix-tree] Fix bug in _degrade_to_n16
Joe Thornber
thornber at sourceware.org
Thu Sep 20 13:48:53 UTC 2018
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ebd2d7773f2531bd5dddb97c061ddb74af117844
Commit: ebd2d7773f2531bd5dddb97c061ddb74af117844
Parent: 0ac7913c6a43c5bcfbba735652041a0eae4180c6
Author: Joe Thornber <ejt at redhat.com>
AuthorDate: Thu Sep 20 14:20:16 2018 +0100
Committer: Joe Thornber <ejt at redhat.com>
CommitterDate: Thu Sep 20 14:20:16 2018 +0100
[radix-tree] Fix bug in _degrade_to_n16
Values were getting shuffled
---
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 a657b2b..23e69f8 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;
More information about the lvm-devel
mailing list