Skip to content

Commit 55d0909

Browse files
LonelyMidoriyaGit User
authored andcommitted
Add check that operators have 6 arguments when using Matrix (#708)
* Fix bug when cm operator didn't have 6 arguments * Add same if clause to tm operator * Update ChunkParser.java
1 parent ace56ed commit 55d0909

File tree

1 file changed

+11
-3
lines changed
  • wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks

1 file changed

+11
-3
lines changed

wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks/ChunkParser.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,12 @@ public void parseChunk(Operator rawOperator, List<COSBase> arguments) {
248248
}
249249
break;
250250
case Operators.TM:
251-
textMatrix = new Matrix(arguments);
252-
textLineMatrix = textMatrix.clone();
251+
if (arguments.size() == 6) {
252+
textMatrix = new Matrix(arguments);
253+
textLineMatrix = textMatrix.clone();
254+
} else {
255+
LOGGER.log(Level.WARNING, "tm operator does not have 6 arguments");
256+
}
253257
break;
254258
case Operators.TR:
255259
if (arguments.size() == 1 && arguments.get(0).getType().isNumber()) {
@@ -457,7 +461,11 @@ public void parseChunk(Operator rawOperator, List<COSBase> arguments) {
457461
processS();
458462
break;
459463
case Operators.CM_CONCAT:
460-
graphicsState.getCTM().concatenate(new Matrix(arguments));
464+
if (arguments.size() == 6) {
465+
graphicsState.getCTM().concatenate(new Matrix(arguments));
466+
} else {
467+
LOGGER.log(Level.WARNING, "cm operator does not have 6 arguments");
468+
}
461469
break;
462470
case Operators.Q_GRESTORE:
463471
if (!graphicsStateStack.isEmpty()) {

0 commit comments

Comments
 (0)