From c89a628300c85c03361599cebb7464882ac0970b Mon Sep 17 00:00:00 2001 From: Marc Miltenberger Date: Wed, 17 Apr 2024 13:37:09 +0200 Subject: [PATCH] Prevent NPE --- src/main/java/soot/AbstractASMBackend.java | 10 ++++++---- src/main/java/soot/tagkit/VisibilityAnnotationTag.java | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/soot/AbstractASMBackend.java b/src/main/java/soot/AbstractASMBackend.java index 654f5a60d30..64bdb9be5e4 100644 --- a/src/main/java/soot/AbstractASMBackend.java +++ b/src/main/java/soot/AbstractASMBackend.java @@ -344,10 +344,12 @@ protected void generateMethods() { if (va == null) { continue; } - for (AnnotationTag at : va.getAnnotations()) { - AnnotationVisitor av = mv.visitParameterAnnotation(j, at.getType(), - (va.getVisibility() == AnnotationConstants.RUNTIME_VISIBLE)); - generateAnnotationElems(av, at.getElems(), true); + if (va.hasAnnotations()) { + for (AnnotationTag at : va.getAnnotations()) { + AnnotationVisitor av = mv.visitParameterAnnotation(j, at.getType(), + (va.getVisibility() == AnnotationConstants.RUNTIME_VISIBLE)); + generateAnnotationElems(av, at.getElems(), true); + } } } } diff --git a/src/main/java/soot/tagkit/VisibilityAnnotationTag.java b/src/main/java/soot/tagkit/VisibilityAnnotationTag.java index caf2179e2dc..fa0f376b0b5 100644 --- a/src/main/java/soot/tagkit/VisibilityAnnotationTag.java +++ b/src/main/java/soot/tagkit/VisibilityAnnotationTag.java @@ -23,6 +23,7 @@ */ import java.util.ArrayList; +import java.util.List; /** * Represents the visibility of an annotation attribute attached to a class, field, method or method param (only one of these @@ -94,7 +95,7 @@ public void addAnnotation(AnnotationTag a) { annotations.add(a); } - public ArrayList getAnnotations() { + public List getAnnotations() { return annotations; }