[libcamera-devel] [PATCH v2 1/2] android: jpeg: exif: Pad extra byte only for ASCII format in setString()
Umang Jain
email at uajain.com
Thu Sep 24 20:36:41 CEST 2020
The EXIF standard states that EXIF_FORMAT_UNDEFINED shall not be
terminated with NULL. The patch implements this particular detail and
pad one extra byte for EXIF_FORMAT_ASCII to null-terminate strings.
Signed-off-by: Umang Jain <email at uajain.com>
---
src/android/jpeg/exif.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/android/jpeg/exif.cpp b/src/android/jpeg/exif.cpp
index c0dbfcc..a5674b3 100644
--- a/src/android/jpeg/exif.cpp
+++ b/src/android/jpeg/exif.cpp
@@ -157,8 +157,9 @@ void Exif::setRational(ExifIfd ifd, ExifTag tag, ExifRational item)
void Exif::setString(ExifIfd ifd, ExifTag tag, ExifFormat format, const std::string &item)
{
- /* Pad 1 extra byte for null-terminated string. */
- size_t length = item.length() + 1;
+ /* Pad 1 extra byte for null-terminated string in ASCII format. */
+ size_t length = format == EXIF_FORMAT_ASCII ?
+ item.length() + 1 : item.length();
ExifEntry *entry = createEntry(ifd, tag, format, length, length);
if (!entry)
--
2.25.1
More information about the libcamera-devel
mailing list