Skip to content

Commit 08e1657

Browse files
authored
Fix ArrayOutOfBoundsException in ER sanity checks (#10314)
add checks before accessing innerTrace array
1 parent 89b226b commit 08e1657

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/exception/AbstractExceptionDebugger.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,13 @@ private static boolean sanityCheckSnapshotAssignment(
192192
Snapshot snapshot, StackTraceElement[] innerTrace, int currentIdx) {
193193
String className = snapshot.getProbe().getLocation().getType();
194194
String methodName = snapshot.getProbe().getLocation().getMethod();
195+
if (currentIdx < 0 || currentIdx >= innerTrace.length) {
196+
LOGGER.warn(
197+
"currentIdx={} out of bounds of innerTrace array length={}",
198+
currentIdx,
199+
innerTrace.length);
200+
return false;
201+
}
195202
if (!className.equals(innerTrace[currentIdx].getClassName())
196203
|| !methodName.equals(innerTrace[currentIdx].getMethodName())) {
197204
LOGGER.warn("issue when assigning snapshot to frame: {} {}", className, methodName);

0 commit comments

Comments
 (0)