summaryrefslogtreecommitdiffstats
path: root/common/state/backend_storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/state/backend_storage.c')
-rw-r--r--common/state/backend_storage.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c
index 52f4aedee7..f1b3f5a6b2 100644
--- a/common/state/backend_storage.c
+++ b/common/state/backend_storage.c
@@ -111,15 +111,18 @@ int state_storage_read(struct state_backend_storage *storage,
int ret;
list_for_each_entry(bucket, &storage->buckets, bucket_list) {
- *len = 0;
-
ret = bucket->read(bucket, buf, len);
if (ret) {
dev_warn(storage->dev, "Failed to read from state backend bucket, trying next, %d\n",
ret);
continue;
}
- ret = format->verify(format, magic, *buf, *len);
+
+ /*
+ * Verify the buffer crcs. The buffer length is passed in the len argument,
+ * .verify overwrites it with the length actually used.
+ */
+ ret = format->verify(format, magic, *buf, len);
if (!ret) {
goto found;
}