Skip to content

Commit 275c158

Browse files
committed
Simplify fix for array index out of bounds
Use simpler approach suggested by @trask: - Change loop initialization from frames.size() - 1 to frames.size() - 2 - Keep original access pattern frames.get(i + 1) This is cleaner and maintains the original code intent better.
1 parent 2321a9b commit 275c158

File tree

1 file changed

+2
-2
lines changed
  • benchmark-jfr-analyzer/src/main/java/io/opentelemetry/javaagent/benchmark/jfr

1 file changed

+2
-2
lines changed

benchmark-jfr-analyzer/src/main/java/io/opentelemetry/javaagent/benchmark/jfr/Analyzer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ private static Set<String> getAgentCallers(List<RecordedEvent> events) {
6565
@Nullable
6666
private static String getAgentCaller(RecordedStackTrace stackTrace) {
6767
List<RecordedFrame> frames = stackTrace.getFrames();
68-
for (int i = frames.size() - 1; i >= 1; i--) {
68+
for (int i = frames.size() - 2; i >= 0; i--) {
6969
RecordedFrame frame = frames.get(i);
7070
RecordedMethod method = frame.getMethod();
7171
if (isAgentMethod(method)) {
72-
RecordedFrame callerFrame = frames.get(i - 1);
72+
RecordedFrame callerFrame = frames.get(i + 1);
7373
RecordedMethod callerMethod = callerFrame.getMethod();
7474
return getStackTraceElement(callerMethod, callerFrame);
7575
}

0 commit comments

Comments
 (0)