diff options
author | Kelvin Zhang <zhangkelvin@google.com> | 2022-04-19 03:27:09 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-04-19 03:27:09 +0000 |
commit | 8094db0efd9a711ea9fa55e98c55859e88b33d7e (patch) | |
tree | 16a3fc37ea924893d22684c3e834c4522cdc624b | |
parent | 2f927414fd1a8ef3a27a19a768ee05d737772125 (diff) | |
parent | 6ff499cf9f327c9503ab028c1ffb60fdd4f7b61a (diff) | |
download | puffin-8094db0efd9a711ea9fa55e98c55859e88b33d7e.tar.gz |
Skip last incomplete gzip entry am: 3353fd4997 am: b075d6a5ca am: 4bd5e5059b am: 6ff499cf9f
Original change: https://android-review.googlesource.com/c/platform/external/puffin/+/2065372
Change-Id: I40874c038855cfa3aad82b70bc878482b6fdd28f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/utils.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/utils.cc b/src/utils.cc index b2666d3..23d8479 100644 --- a/src/utils.cc +++ b/src/utils.cc @@ -185,7 +185,7 @@ bool IsValidGzipHeader(const uint8_t* header, size_t size) { // 0 1 0x1F // 1 1 0x8B // 2 1 compression method (8 denotes deflate) - static const uint8_t magic[] = {0x1F, 0x8B, 8}; + static constexpr uint8_t magic[] = {0x1F, 0x8B, 8}; return size >= 10 && std::equal(std::begin(magic), std::end(magic), header); } } // namespace @@ -240,10 +240,10 @@ bool LocateDeflatesInGzip(const Buffer& data, vector<BitExtent>* deflates) { offset += compressed_size; // Ignore CRC32 and uncompressed size. - TEST_AND_RETURN_FALSE(offset + 8 <= data.size()); offset += 8; member_start = offset; - } while (IsValidGzipHeader(&data[member_start], data.size() - member_start)); + } while (member_start < data.size() && + IsValidGzipHeader(&data[member_start], data.size() - member_start)); return true; } |