Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
Examples of errors detected by the...

Examples of errors detected by the V6025 diagnostic

V6025. Possibly index is out of bound.


Elasticsearch

V6025 Possibly index '(int) x' is out of bounds. BCrypt.java(431)


private static byte char64(char x) {
  if ((int)x < 0 || (int)x > index_64.length)
    return -1;
  return index_64[(int)x];
}

Bouncy Castle

V6025 Possibly index 'i' is out of bounds. HSSTests.java(384)


public void testVectorsFromReference() throws Exception {
    List<LMSigParameters> lmsParameters = new ArrayList<LMSigParameters>();
    List<LMOtsParameters> lmOtsParameters = new ArrayList<LMOtsParameters>();
    ....
    for (String line : lines) {
        ....
        if (line.startsWith("Depth:")) {
            ....
        } else if (line.startsWith("LMType:")) {
            ....
            lmsParameters.add(LMSigParameters.getParametersForType(typ));
        } else if (line.startsWith("LMOtsType:")) {
            ....
            lmOtsParameters.add(LMOtsParameters.getParametersForType(typ));
        }
    }
    ....
    for (int i = 0; i != lmsParameters.size(); i++) {
        lmsParams.add(new LMSParameters(lmsParameters.get(i),
                                        lmOtsParameters.get(i)));
    }
}

ELKI

V6025 Index '1' is out of bounds. GeneratorStatic.java(104)


@Override
public double[] computeMean() {
    // Not supported except for singletons.
    return points.size() == 1 ? points.get(1) : null;
}

Rhino

V6025 Index 'sig1.length - 1' is out of bounds. NativeJavaMethod.java(461)


public class NativeJavaMethod extends BaseFunction {

  private static int preferSignature(Object[] args,
                                     Class<?>[] sig1,
                                     boolean vararg1,
                                     Class<?>[] sig2,
                                     boolean vararg2) {
    int totalPreference = 0;
    for (int j = 0; j < args.length; j++) {
      Class<?> type1 = vararg1 &&
                       j >= sig1.length ? sig1[sig1.length - 1] // <=
                                        : sig1[j];
      Class<?> type2 = vararg2 &&
                       j >= sig2.length ? sig2[sig2.length - 1] // <=
                                        : sig2[j];
      ....
    }
    return totalPreference;
  }
}

Rhino

V6025 Index 'sig2.length - 1' is out of bounds. NativeJavaMethod.java(462)


public class NativeJavaMethod extends BaseFunction {

  private static int preferSignature(Object[] args,
                                     Class<?>[] sig1,
                                     boolean vararg1,
                                     Class<?>[] sig2,
                                     boolean vararg2) {
    int totalPreference = 0;
    for (int j = 0; j < args.length; j++) {
      Class<?> type1 = vararg1 &&
                       j >= sig1.length ? sig1[sig1.length - 1] // <=
                                        : sig1[j];
      Class<?> type2 = vararg2 &&
                       j >= sig2.length ? sig2[sig2.length - 1] // <=
                                        : sig2[j];
      ....
    }
    return totalPreference;
  }
}

Rhino

V6025 Possibly index 'last - 1' is out of bounds. SuperBlock.java(50)


final class SuperBlock {
  ....
  int[] getTrimmedLocals() {
    int last = locals.length - 1;
    while (last >= 0
        && locals[last] == TypeInfo.TOP
        && !TypeInfo.isTwoWords(locals[last - 1])) {         // <=
      last--;
    }
    ....
  }
  ....
}

jMonkeyEngine

V6025 Index 'i' is out of bounds. FbxMesh.java(336)


private List<Geometry> createGeometries() throws IOException {
  ....
  iCount = vCount = srcVertexCount;
  vertexMap = new ArrayList<>(vCount);     // <=
  indexMap = new ArrayList<>(vCount);
  reverseVertexMap = new ArrayList<>(vCount);
  for (int i = 0; i < vCount; ++i) {
    vertexMap.set(i, i);                   // <=
    indexMap.set(i, i);
    List<Integer> l = new ArrayList<>(1);
    l.add(i);
    reverseVertexMap.add(l);
  }
  ....
}

GeoGebra

V6025 Index 'index - 1' is out of bounds. LayerManager.java(393)


private void updateOrdering(GeoElement geo, ObjectMovement movement) {
  ....
  switch (movement) {
    ....
    case FRONT:
      ....
      if (index == firstIndex) {
        if (index != 0) {
          geo.setOrdering(orderingDepthMidpoint(index));
        }
        else {
          geo.setOrdering(drawingOrder.get(index - 1).getOrdering() - 1);
        }
      }
    ....
  }
  ....
}

In the else block the variable index is guaranteed to be zero and passing index - 1 to the get method will result in IndexOutOfBoundsException


AutoMQ

V6025. Possibly index 'type' is out of bounds. ByteBufAlloc.java 151


public static final int MAX_TYPE_NUMBER = 20;
private static final LongAdder[] USAGE_STATS = new LongAdder[MAX_TYPE_NUMBER];
....
public static ByteBuf byteBuffer(int initCapacity, int type) {
  try {
    if (MEMORY_USAGE_DETECT) {
      ....
      if (type > MAX_TYPE_NUMBER) {
        counter = UNKNOWN_USAGE_STATS;
      } else {
        counter = USAGE_STATS[type];    // <=
        ....
      }
      ....
    }
  ....
  }
}