Skip to content

Commit 8e182ed

Browse files
author
Andrew Kent
committed
Replace BIPUSH with LDC to prevent overflow
1 parent a8a4ff2 commit 8e182ed

File tree

1 file changed

+9
-9
lines changed
  • dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/muzzle

1 file changed

+9
-9
lines changed

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/muzzle/MuzzleVisitor.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,12 +170,12 @@ public void visitEnd() {
170170
false);
171171

172172
final Reference[] references = generateReferences();
173-
mv.visitIntInsn(Opcodes.BIPUSH, references.length);
173+
mv.visitLdcInsn(references.length);
174174
mv.visitTypeInsn(Opcodes.ANEWARRAY, "datadog/trace/agent/tooling/muzzle/Reference");
175175

176176
for (int i = 0; i < references.length; ++i) {
177177
mv.visitInsn(Opcodes.DUP);
178-
mv.visitIntInsn(Opcodes.BIPUSH, i);
178+
mv.visitLdcInsn(i);
179179
mv.visitTypeInsn(Opcodes.NEW, "datadog/trace/agent/tooling/muzzle/Reference$Builder");
180180
mv.visitInsn(Opcodes.DUP);
181181
mv.visitLdcInsn(references[i].getClassName());
@@ -187,7 +187,7 @@ public void visitEnd() {
187187
false);
188188
for (Reference.Source source : references[i].getSources()) {
189189
mv.visitLdcInsn(source.getName());
190-
mv.visitIntInsn(Opcodes.BIPUSH, source.getLine());
190+
mv.visitLdcInsn(source.getLine());
191191
mv.visitMethodInsn(
192192
Opcodes.INVOKEVIRTUAL,
193193
"datadog/trace/agent/tooling/muzzle/Reference$Builder",
@@ -228,14 +228,14 @@ public void visitEnd() {
228228
}
229229
for (Reference.Field field : references[i].getFields()) {
230230
mv.visitLdcInsn(field.getName());
231-
mv.visitIntInsn(Opcodes.BIPUSH, field.getFlags().size());
231+
mv.visitLdcInsn(field.getFlags().size());
232232
mv.visitTypeInsn(
233233
Opcodes.ANEWARRAY, "datadog/trace/agent/tooling/muzzle/Reference$Flag");
234234

235235
int j = 0;
236236
for (Reference.Flag flag : field.getFlags()) {
237237
mv.visitInsn(Opcodes.DUP);
238-
mv.visitIntInsn(Opcodes.BIPUSH, j);
238+
mv.visitLdcInsn(j);
239239
mv.visitFieldInsn(
240240
Opcodes.GETSTATIC,
241241
"datadog/trace/agent/tooling/muzzle/Reference$Flag",
@@ -255,13 +255,13 @@ public void visitEnd() {
255255
for (Reference.Method method : references[i].getMethods()) {
256256
mv.visitLdcInsn(method.getName());
257257

258-
mv.visitIntInsn(Opcodes.BIPUSH, method.getFlags().size());
258+
mv.visitLdcInsn(method.getFlags().size());
259259
mv.visitTypeInsn(
260260
Opcodes.ANEWARRAY, "datadog/trace/agent/tooling/muzzle/Reference$Flag");
261261
int j = 0;
262262
for (Reference.Flag flag : method.getFlags()) {
263263
mv.visitInsn(Opcodes.DUP);
264-
mv.visitIntInsn(Opcodes.BIPUSH, j);
264+
mv.visitLdcInsn(j);
265265
mv.visitFieldInsn(
266266
Opcodes.GETSTATIC,
267267
"datadog/trace/agent/tooling/muzzle/Reference$Flag",
@@ -273,13 +273,13 @@ public void visitEnd() {
273273

274274
mv.visitLdcInsn(method.getReturnType());
275275

276-
mv.visitIntInsn(Opcodes.BIPUSH, method.getParameterTypes().size());
276+
mv.visitLdcInsn(method.getParameterTypes().size());
277277
mv.visitTypeInsn(Opcodes.ANEWARRAY, "java/lang/String");
278278

279279
int k = 0;
280280
for (String parameterType : method.getParameterTypes()) {
281281
mv.visitInsn(Opcodes.DUP);
282-
mv.visitIntInsn(Opcodes.BIPUSH, k);
282+
mv.visitLdcInsn(k);
283283
mv.visitLdcInsn(parameterType);
284284
mv.visitInsn(Opcodes.AASTORE);
285285
}

0 commit comments

Comments
 (0)