Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01f3dc4d authored by Avichal Rakesh's avatar Avichal Rakesh Committed by Automerger Merge Worker
Browse files

Merge "Ensure correct read of jpeg header blob" into tm-dev am: e2d9f79f am: 35297dc4

parents dc2d8bfa 35297dc4
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -123,10 +123,15 @@ uint32_t Image_getBlobSize(LockedImage* buffer, bool usingRGBAOverride) {

    // First check for BLOB transport header at the end of the buffer
    uint8_t* header = blobBuffer + (width - sizeof(struct camera3_jpeg_blob_v2));
    struct camera3_jpeg_blob_v2 *blob = (struct camera3_jpeg_blob_v2*)(header);
    if (blob->jpeg_blob_id == CAMERA3_JPEG_BLOB_ID ||
            blob->jpeg_blob_id == CAMERA3_HEIC_BLOB_ID) {
        size = blob->jpeg_size;

    // read camera3_jpeg_blob_v2 from the end of the passed buffer.
    // requires memcpy because 'header' might not be properly aligned.
    struct camera3_jpeg_blob_v2 blob;
    memcpy(&blob, header, sizeof(struct camera3_jpeg_blob_v2));

    if (blob.jpeg_blob_id == CAMERA3_JPEG_BLOB_ID ||
            blob.jpeg_blob_id == CAMERA3_HEIC_BLOB_ID) {
        size = blob.jpeg_size;
        ALOGV("%s: Jpeg/Heic size = %d", __FUNCTION__, size);
    }