Skip to content

Commit

Permalink
Merge pull request #687 from DAN-MU-ZI/main
Browse files Browse the repository at this point in the history
Issue #685 | Fix StringIndexOutOfBoundsException in ICC DESC tag processing
  • Loading branch information
drewnoakes authored Nov 26, 2024
2 parents 0c3452b + da59f94 commit 3db5330
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Source/com/drew/metadata/icc/IccDescriptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

package com.drew.metadata.icc;

import com.drew.lang.BufferBoundsException;
import com.drew.lang.ByteArrayReader;
import com.drew.lang.RandomAccessReader;
import com.drew.lang.annotations.NotNull;
Expand Down Expand Up @@ -91,6 +92,11 @@ private String getTagDataString(int tagType)
}
case ICC_TAG_TYPE_DESC:
int stringLength = reader.getInt32(8);

if (stringLength < 0 || stringLength > (bytes.length - 12)) {
throw new BufferBoundsException(12, stringLength, bytes.length);
}

return new String(bytes, 12, stringLength - 1);
case ICC_TAG_TYPE_SIG:
return IccReader.getStringFromInt32(reader.getInt32(8));
Expand Down

0 comments on commit 3db5330

Please sign in to comment.