summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ram Mohan <ram.mohan@ittiam.com> 2023-09-08 20:00:11 +0530
committer Dichen Zhang <dichenzhang@google.com> 2023-09-08 17:00:48 +0000
commitf3c297985f77ee5f75d0ae980187e59c24b8318a (patch)
tree32fe5115cc3c3f683b4f5d79ec6423da3bea1004
parente1ecba3aea899ae52218e3d7246c61db9bdf7717 (diff)
ultrahdr: asan fix, default initialize member variable
The default value of mExifPos is commented as -1, but this is missing. Further size_t is usually defined as unsigned int resulting negative values as overflow. Best to declare it as ssize_t Bug: 299596513 Test: atest ultrahdr_unit_test Change-Id: I187f21aea44914993872def5a4889435d3f2d402
-rw-r--r--libs/ultrahdr/include/ultrahdr/jpegdecoderhelper.h2
-rw-r--r--libs/ultrahdr/jpegr.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/libs/ultrahdr/include/ultrahdr/jpegdecoderhelper.h b/libs/ultrahdr/include/ultrahdr/jpegdecoderhelper.h
index 30149c11f0..b86ce5f450 100644
--- a/libs/ultrahdr/include/ultrahdr/jpegdecoderhelper.h
+++ b/libs/ultrahdr/include/ultrahdr/jpegdecoderhelper.h
@@ -136,7 +136,7 @@ private:
size_t mHeight;
// Position of EXIF package, default value is -1 which means no EXIF package appears.
- size_t mExifPos;
+ ssize_t mExifPos = -1;
};
} /* namespace android::ultrahdr */
diff --git a/libs/ultrahdr/jpegr.cpp b/libs/ultrahdr/jpegr.cpp
index 74760d9b32..705a121bc6 100644
--- a/libs/ultrahdr/jpegr.cpp
+++ b/libs/ultrahdr/jpegr.cpp
@@ -1268,7 +1268,7 @@ status_t JpegR::appendGainMap(jr_compressed_ptr primary_jpg_image_ptr,
jpegr_compressed_struct new_jpg_image;
new_jpg_image.data = nullptr;
new_jpg_image.length = 0;
- if (decoder.getEXIFPos() != 0) {
+ if (decoder.getEXIFPos() >= 0) {
if (pExif != nullptr) {
ALOGE("received EXIF from outside while the primary image already contains EXIF");
return ERROR_JPEGR_INVALID_INPUT_TYPE;