| Index: xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp
 | 
| diff --git a/xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp b/xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp
 | 
| index 1c20b7c8a1bae36bf898c9419e3c3b36c79b7b28..8f54353d4ade02f0f8ba74bfda80b4faef986f9a 100644
 | 
| --- a/xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp
 | 
| +++ b/xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp
 | 
| @@ -172,14 +172,12 @@ CFX_WideString CBC_ErrorCorrection::createECCBlock(CFX_WideString codewords,
 | 
|                                                     int32_t len,
 | 
|                                                     int32_t numECWords,
 | 
|                                                     int32_t& e) {
 | 
| -  int32_t table = -1;
 | 
| -  for (int32_t i = 0; i < sizeof(FACTOR_SETS) / sizeof(int32_t); i++) {
 | 
| -    if (FACTOR_SETS[i] == numECWords) {
 | 
| -      table = i;
 | 
| -      break;
 | 
| -    }
 | 
| -  }
 | 
| -  if (table < 0) {
 | 
| +  static const size_t kFactorTableNum = sizeof(FACTOR_SETS) / sizeof(int32_t);
 | 
| +  size_t table = 0;
 | 
| +  while (table < kFactorTableNum && FACTOR_SETS[table] != numECWords)
 | 
| +    table++;
 | 
| +
 | 
| +  if (table >= kFactorTableNum) {
 | 
|      e = BCExceptionIllegalArgument;
 | 
|      return (FX_WCHAR*)"";
 | 
|    }
 | 
| 
 |