Gavin Shiels created IMAGING-140:
------------------------------------

             Summary: ExifReWriter always writes EXIF segment before JFIF 
segment
                 Key: IMAGING-140
                 URL: https://issues.apache.org/jira/browse/IMAGING-140
             Project: Commons Imaging
          Issue Type: Bug
          Components: Format: JPEG
    Affects Versions: 1.x, 0.97, 0.94-incubator
         Environment: All
            Reporter: Gavin Shiels


ExifRewriter.writeSegmentsReplacingExif () always writes the EXIF segment as 
the first segment written to the output stream even when there is JFIF segment 
present.

The code checks for the existence of the JFIF segment and it looks like the 
intention was then to insert the EXIF segment at index 1 but it is instead 
always inserted at index 0, the variable 'index' is not used after being set to 
1. 

'index' should be passed as the first parameter to the segments.add() call.

/* ----------------------------------------------------------------------- */
int index = 0;
JFIFPieceSegment firstSegment = (JFIFPieceSegment) segments.get(index);

if (firstSegment.marker == JFIFMarker)
    index = 1;
        
segments.add(0, new JFIFPieceSegmentExif(JPEG_APP1_Marker,
markerBytes, markerLengthBytes, newBytes));

/* ----------------------------------------------------------------------- */




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to