Merge "[incremental/adb] fix signature size check" am: 1c5a205fda am: fbcc431f56 am: f68bc249a9 am: b01ccae89f

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1373276

Change-Id: I38aa1627acd34b06b2392de2b35f8de6d3695630
This commit is contained in:
Treehugger Robot 2020-07-30 23:54:14 +00:00 committed by Automerger Merge Worker
commit db01806b67

View file

@ -55,9 +55,10 @@ static std::pair<unique_fd, std::vector<char>> read_signature(Size file_size,
return {}; return {};
} }
std::vector<char> invalid_signature; auto [signature, tree_size] = read_id_sig_headers(fd);
if (st.st_size > kMaxSignatureSize) { std::vector<char> invalid_signature;
if (signature.size() > kMaxSignatureSize) {
if (!silent) { if (!silent) {
fprintf(stderr, "Signature is too long. Max allowed is %d. Abort.\n", fprintf(stderr, "Signature is too long. Max allowed is %d. Abort.\n",
kMaxSignatureSize); kMaxSignatureSize);
@ -65,7 +66,6 @@ static std::pair<unique_fd, std::vector<char>> read_signature(Size file_size,
return {std::move(fd), std::move(invalid_signature)}; return {std::move(fd), std::move(invalid_signature)};
} }
auto [signature, tree_size] = read_id_sig_headers(fd);
if (auto expected = verity_tree_size_for_file(file_size); tree_size != expected) { if (auto expected = verity_tree_size_for_file(file_size); tree_size != expected) {
if (!silent) { if (!silent) {
fprintf(stderr, fprintf(stderr,