aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJae Hoon Kim <kimjae@google.com>2023-12-06 20:14:28 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-12-06 20:14:28 +0000
commit8d20de69d6c00cbf512526e9599e5b24d6e41ab3 (patch)
treed67d9a461b28c395b20c654fd74a3ff587ea6797
parent10eb0870a6d74978ad8399a8979579d1117579a6 (diff)
parent1481c0b0fb84ec77b29bab5f8bc9fef95a6bde16 (diff)
downloadupdate_engine-8d20de69d6c00cbf512526e9599e5b24d6e41ab3.tar.gz
Convert int to string for payload sizes am: 1481c0b0fb
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/2853673 Change-Id: If3a0993d17a21e34de417dc5fbceee4de2e5d5c7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--payload_generator/payload_properties.cc8
-rw-r--r--payload_generator/payload_properties.h4
-rw-r--r--payload_generator/payload_properties_unittest.cc2
3 files changed, 12 insertions, 2 deletions
diff --git a/payload_generator/payload_properties.cc b/payload_generator/payload_properties.cc
index bcf4fbda..d47c0599 100644
--- a/payload_generator/payload_properties.cc
+++ b/payload_generator/payload_properties.cc
@@ -47,6 +47,10 @@ const char kPayloadPropertyJsonMetadataSignature[] = "metadata_signature";
// These are needed by the Nebraska and devserver.
const char kPayloadPropertyJsonPayloadSize[] = "size";
const char kPayloadPropertyJsonIsDelta[] = "is_delta";
+
+// These are JSON specific properties to handle 64-bit sizes (> 53-bits).
+const char kPayloadPropertyJsonMetadataSizeStr[] = "metadata_size_str";
+const char kPayloadPropertyJsonPayloadSizeStr[] = "size_str";
} // namespace
PayloadProperties::PayloadProperties(const string& payload_path)
@@ -58,9 +62,13 @@ bool PayloadProperties::GetPropertiesAsJson(string* json_str) {
base::DictionaryValue properties;
properties.SetInteger(kPayloadPropertyJsonVersion, version_);
properties.SetInteger(kPayloadPropertyJsonMetadataSize, metadata_size_);
+ properties.SetString(kPayloadPropertyJsonMetadataSizeStr,
+ std::to_string(metadata_size_));
properties.SetString(kPayloadPropertyJsonMetadataSignature,
metadata_signatures_);
properties.SetInteger(kPayloadPropertyJsonPayloadSize, payload_size_);
+ properties.SetString(kPayloadPropertyJsonPayloadSizeStr,
+ std::to_string(payload_size_));
properties.SetString(kPayloadPropertyJsonPayloadHash, payload_hash_);
properties.SetBoolean(kPayloadPropertyJsonIsDelta, is_delta_);
diff --git a/payload_generator/payload_properties.h b/payload_generator/payload_properties.h
index 846b181d..9aeb5f80 100644
--- a/payload_generator/payload_properties.h
+++ b/payload_generator/payload_properties.h
@@ -52,11 +52,11 @@ class PayloadProperties {
// format, this needs to be increased.
int version_{2};
- size_t metadata_size_;
+ uint64_t metadata_size_;
std::string metadata_hash_;
std::string metadata_signatures_;
- size_t payload_size_;
+ uint64_t payload_size_;
std::string payload_hash_;
// Whether the payload is a delta (true) or full (false).
diff --git a/payload_generator/payload_properties_unittest.cc b/payload_generator/payload_properties_unittest.cc
index 0ff364fc..f7ac7430 100644
--- a/payload_generator/payload_properties_unittest.cc
+++ b/payload_generator/payload_properties_unittest.cc
@@ -105,8 +105,10 @@ TEST_F(PayloadPropertiesTest, GetPropertiesAsJsonTestHash) {
R"("is_delta":true,)"
R"("metadata_signature":"",)"
R"("metadata_size":165,)"
+ R"("metadata_size_str":"165",)"
R"("sha256_hex":"cV7kfZBH3K0B6QJHxxykDh6b6x0WgVOmc63whPLOy7U=",)"
R"("size":211,)"
+ R"("size_str":"211",)"
R"("version":2)"
"}";
string json;