Commit c4333eb5 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Fix check_snapshot() memcpy

check_snapshot() copies the bch_snapshot to a temporary to easily handle
older versions that don't have all the fields of the current version,
but it lacked a min() to correctly handle keys newer and larger than the
current version.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 097471f9
...@@ -728,7 +728,7 @@ static int check_snapshot(struct btree_trans *trans, ...@@ -728,7 +728,7 @@ static int check_snapshot(struct btree_trans *trans,
return 0; return 0;
memset(&s, 0, sizeof(s)); memset(&s, 0, sizeof(s));
memcpy(&s, k.v, bkey_val_bytes(k.k)); memcpy(&s, k.v, min(sizeof(s), bkey_val_bytes(k.k)));
id = le32_to_cpu(s.parent); id = le32_to_cpu(s.parent);
if (id) { if (id) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment