[ostree] offline delta apply: Handle the version field
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] offline delta apply: Handle the version field
- Date: Mon, 14 Sep 2015 02:24:10 +0000 (UTC)
commit 1ee4007a75971080bd760e8d188a369ba9c10840
Author: Alexander Larsson <alexl redhat com>
Date: Thu Sep 10 19:42:28 2015 +0200
offline delta apply: Handle the version field
It seems the format changed and this code was not updated.
src/libostree/ostree-repo-static-delta-core.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/libostree/ostree-repo-static-delta-core.c b/src/libostree/ostree-repo-static-delta-core.c
index f695026..cd2940b 100644
--- a/src/libostree/ostree-repo-static-delta-core.c
+++ b/src/libostree/ostree-repo-static-delta-core.c
@@ -273,6 +273,7 @@ ostree_repo_static_delta_execute_offline (OstreeRepo *self,
n = g_variant_n_children (headers);
for (i = 0; i < n; i++)
{
+ guint32 version;
guint64 size;
guint64 usize;
const guchar *csum;
@@ -285,7 +286,14 @@ ostree_repo_static_delta_execute_offline (OstreeRepo *self,
g_autoptr(GInputStream) in = NULL;
header = g_variant_get_child_value (headers, i);
- g_variant_get (header, "(@aytt ay)", &csum_v, &size, &usize, &objects);
+ g_variant_get (header, "(u aytt@ay)", &version, &csum_v, &size, &usize, &objects);
+
+ if (version > OSTREE_DELTAPART_VERSION)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Delta part has too new version %u", version);
+ goto out;
+ }
if (!_ostree_repo_static_delta_part_have_all_objects (self, objects, &have_all,
cancellable, error))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]