Class JvmTaintSink

java.lang.Object
proguard.analysis.cpa.domain.taint.TaintSink
proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
Direct Known Subclasses:
JvmInvokeTaintSink, JvmReturnTaintSink

public abstract class JvmTaintSink extends TaintSink
The JvmTaintSink adds an interface for extracting sensitive JVM memory locations and to check if the sink matches a given cfa edge.
  • Constructor Details

  • Method Details

    • getMemoryLocations

      public abstract Set<JvmMemoryLocation> getMemoryLocations()
      Returns memory locations which trigger this taint sink.
    • matchCfaEdge

      public abstract boolean matchCfaEdge(JvmCfaEdge edge)
      Returns whether the sink matches a given CFA edge.
    • convertSinksToMemoryLocations

      public static Map<Signature,Map<JvmTaintSink,Set<JvmMemoryLocation>>> convertSinksToMemoryLocations(Collection<? extends JvmTaintSink> taintSinks)
      Helper method taking a collection of sinks and converting it to a mapping that associates each sink with the memory locations which triggers it. For convenience the sinks are further grouped by their method signature.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class TaintSink
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class TaintSink