aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Evans <jsje@google.com>2022-03-23 00:55:20 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-23 00:55:20 +0000
commit940f4ce6b57095e210175113f1cd4a96f36b732d (patch)
tree0cc4a12c0d2fb576ef0b5a3e5d72412ae0a65e93
parent3e08a5ae1d34ad578c779c07973158b37d358352 (diff)
parent3f7e2a1cb253195397f3bb4a0b7e9aca86a1d920 (diff)
downloadpiex-940f4ce6b57095e210175113f1cd4a96f36b732d.tar.gz
Update PIEX from tip of tree am: 79ea86a6a1 am: 3f7e2a1cb2
Original change: https://android-review.googlesource.com/c/platform/external/piex/+/2037563 Change-Id: I3711d4b6e14b40f3e9eea64a2c80e5cc87462be9
-rw-r--r--src/image_type_recognition/image_type_recognition_lite.cc3
-rw-r--r--src/piex.cc4
-rw-r--r--src/tiff_parser.cc4
3 files changed, 6 insertions, 5 deletions
diff --git a/src/image_type_recognition/image_type_recognition_lite.cc b/src/image_type_recognition/image_type_recognition_lite.cc
index cb32e1c..5976f42 100644
--- a/src/image_type_recognition/image_type_recognition_lite.cc
+++ b/src/image_type_recognition/image_type_recognition_lite.cc
@@ -183,13 +183,14 @@ class ArwTypeChecker : public TypeChecker {
// Search for (kSignatureFileTypeSection + kSignatureVersions[i]) in first
// requested bytes
const string kSignatureSection("\x00\xb0\x01\x00\x04\x00\x00\x00", 8);
- const int kSignatureVersionsSize = 5;
+ const int kSignatureVersionsSize = 6;
const string kSignatureVersions[kSignatureVersionsSize] = {
string("\x02\x00", 2), // ARW 1.0
string("\x03\x00", 2), // ARW 2.0
string("\x03\x01", 2), // ARW 2.1
string("\x03\x02", 2), // ARW 2.2
string("\x03\x03", 2), // ARW 2.3
+ string("\x04\x00", 2), // ARW 4.0
};
bool matched = false;
for (int i = 0; i < kSignatureVersionsSize; ++i) {
diff --git a/src/piex.cc b/src/piex.cc
index 4b868d9..ac2ef0b 100644
--- a/src/piex.cc
+++ b/src/piex.cc
@@ -283,9 +283,9 @@ bool GetOlympusPreviewImage(StreamInterface* stream,
}
if (raw_processing_ifd.Has(kOlymTagAspectFrame)) {
- std::vector<std::uint32_t> aspect_frame(4);
+ std::vector<std::uint32_t> aspect_frame;
if (raw_processing_ifd.Get(kOlymTagAspectFrame, &aspect_frame) &&
- aspect_frame[2] > aspect_frame[0] &&
+ aspect_frame.size() == 4 && aspect_frame[2] > aspect_frame[0] &&
aspect_frame[3] > aspect_frame[1]) {
preview_image_data->full_width = aspect_frame[2] - aspect_frame[0] + 1;
preview_image_data->full_height = aspect_frame[3] - aspect_frame[1] + 1;
diff --git a/src/tiff_parser.cc b/src/tiff_parser.cc
index ac6d006..3ceaa75 100644
--- a/src/tiff_parser.cc
+++ b/src/tiff_parser.cc
@@ -720,8 +720,8 @@ bool TiffParser::ParseIfd(const std::uint32_t ifd_offset,
IfdVector* tiff_directory) {
std::uint32_t next_ifd_offset;
TiffDirectory tiff_ifd(static_cast<Endian>(endian_));
- if (!ParseDirectory(tiff_offset_, ifd_offset, endian_, desired_tags,
- stream_, &tiff_ifd, &next_ifd_offset) ||
+ if (!ParseDirectory(tiff_offset_, ifd_offset, endian_, desired_tags, stream_,
+ &tiff_ifd, &next_ifd_offset) ||
!ParseSubIfds(tiff_offset_, desired_tags, max_number_ifds, endian_,
stream_, &tiff_ifd)) {
return false;