Merge "[adb] Add a version field to v4 signature format" am: aab85d3b4c

Change-Id: I2cc666e0e12e160830746ebf2031f22fe041485e
diff --git a/adb/client/incremental.cpp b/adb/client/incremental.cpp
index cffd4bd..b728a6b 100644
--- a/adb/client/incremental.cpp
+++ b/adb/client/incremental.cpp
@@ -54,6 +54,13 @@
     return int32_t(be32toh(read_int32(fd)));
 }
 
+static inline void append_int(borrowed_fd fd, std::vector<char>* bytes) {
+    int32_t be_val = read_int32(fd);
+    auto old_size = bytes->size();
+    bytes->resize(old_size + sizeof(be_val));
+    memcpy(bytes->data() + old_size, &be_val, sizeof(be_val));
+}
+
 static inline void append_bytes_with_size(borrowed_fd fd, std::vector<char>* bytes) {
     int32_t be_size = read_int32(fd);
     int32_t size = int32_t(be32toh(be_size));
@@ -65,6 +72,7 @@
 
 static inline std::pair<std::vector<char>, int32_t> read_id_sig_headers(borrowed_fd fd) {
     std::vector<char> result;
+    append_int(fd, &result);              // version
     append_bytes_with_size(fd, &result);  // verityRootHash
     append_bytes_with_size(fd, &result);  // v3Digest
     append_bytes_with_size(fd, &result);  // pkcs7SignatureBlock