Remove redundant supertypes

This commit is contained in:
Owen Mansel-Chan
2026-01-06 23:21:45 +00:00
parent 1cd0698453
commit 93d7c5c7ef
9 changed files with 12 additions and 12 deletions

View File

@@ -140,7 +140,7 @@ module Revel {
/**
* A render of a template.
*/
abstract class TemplateRender extends DataFlow::Node, TemplateInstantiation::Range {
abstract class TemplateRender extends TemplateInstantiation::Range {
/** Gets the name of the file that is rendered. */
abstract File getRenderedFile();

View File

@@ -46,7 +46,7 @@ module NetHttp {
}
}
private class MapWrite extends Http::HeaderWrite::Range, DataFlow::Node {
private class MapWrite extends Http::HeaderWrite::Range {
DataFlow::Node index;
DataFlow::Node rhs;

View File

@@ -61,7 +61,7 @@ module Regexp {
}
}
private class ExternalRegexpMatchFunction extends RegexpMatchFunction::Range, Function {
private class ExternalRegexpMatchFunction extends RegexpMatchFunction::Range {
int patArg;
int strArg;

View File

@@ -120,7 +120,7 @@ module CleartextLogging {
*
* This is a source since `log.Print(obj)` will often show the fields of `obj`.
*/
private class StructPasswordFieldSource extends DataFlow::Node, Source {
private class StructPasswordFieldSource extends Source {
string name;
StructPasswordFieldSource() {
@@ -137,7 +137,7 @@ module CleartextLogging {
}
/** An access to a variable or property that might contain a password. */
private class ReadPasswordSource extends DataFlow::Node, Source {
private class ReadPasswordSource extends Source {
string name;
ReadPasswordSource() {

View File

@@ -61,7 +61,7 @@ module OpenUrlRedirect {
/**
* An HTTP redirect, considered as a sink for `Configuration`.
*/
class RedirectSink extends Sink, DataFlow::Node {
class RedirectSink extends Sink {
RedirectSink() { this = any(Http::Redirect redir).getUrl() }
}
@@ -69,7 +69,7 @@ module OpenUrlRedirect {
* A definition of the HTTP "Location" header, considered as a sink for
* `Configuration`.
*/
class LocationHeaderSink extends Sink, DataFlow::Node {
class LocationHeaderSink extends Sink {
LocationHeaderSink() {
exists(Http::HeaderWrite hw | hw.getHeaderName() = "location" | this = hw.getValue())
}

View File

@@ -126,7 +126,7 @@ module UnsafeUnzipSymlink {
* An argument to a call to `os.Symlink` within a loop that extracts a zip or tar archive,
* taken as a sink for unsafe unzipping of symlinks.
*/
class OsSymlink extends DataFlow::Node, SymlinkSink {
class OsSymlink extends SymlinkSink {
OsSymlink() {
exists(DataFlow::CallNode n | n.asExpr() = getASymlinkCall() |
this = n.getArgument([0, 1]) and
@@ -139,7 +139,7 @@ module UnsafeUnzipSymlink {
* An argument to `path/filepath.EvalSymlinks` or `os.Readlink`, taken as a sink for detecting target
* paths that are likely safe to extract to.
*/
class StdlibSymlinkResolvers extends DataFlow::Node, EvalSymlinksSink {
class StdlibSymlinkResolvers extends EvalSymlinksSink {
StdlibSymlinkResolvers() {
exists(DataFlow::CallNode n |
n.getTarget().hasQualifiedName("path/filepath", "EvalSymlinks")

View File

@@ -139,7 +139,7 @@ module SharedXss {
* A `Template` from `html/template` will HTML-escape data automatically
* and therefore acts as a sanitizer for XSS vulnerabilities.
*/
class HtmlTemplateSanitizer extends Sanitizer, DataFlow::Node {
class HtmlTemplateSanitizer extends Sanitizer {
HtmlTemplateSanitizer() {
exists(Method m, DataFlow::CallNode call | m = call.getCall().getTarget() |
m.hasQualifiedName("html/template", "Template", "ExecuteTemplate") and

View File

@@ -30,7 +30,7 @@ module ZipSlip {
/**
* A tar file header, as a source for zip slip.
*/
class TarHeaderSource extends Source, DataFlow::Node {
class TarHeaderSource extends Source {
TarHeaderSource() {
this =
any(DataFlow::MethodCallNode mcn |

View File

@@ -9,7 +9,7 @@ class UntrustedFunction extends Function {
UntrustedFunction() { this.getName() = ["getUntrustedString", "getUntrustedBytes"] }
}
class RemoteSource extends DataFlow::Node, RemoteFlowSource::Range {
class RemoteSource extends RemoteFlowSource::Range {
RemoteSource() { this = any(UntrustedFunction f).getACall().getResult() }
}