Skip to content

Commit bf0ecde

Browse files
authored
Merge pull request #7326 from github/ginsbach/FixInstanceof
fix dependency cycle by removing superfluous classes
2 parents a2dc505 + b2c1b55 commit bf0ecde

File tree

1 file changed

+6
-32
lines changed
  • ruby/ql/lib/codeql/ruby/security

1 file changed

+6
-32
lines changed

ruby/ql/lib/codeql/ruby/security/XSS.qll

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -266,26 +266,13 @@ module ReflectedXSS {
266266
abstract class Source extends Shared::Source { }
267267

268268
/** A data flow sink for stored XSS vulnerabilities. */
269-
abstract class Sink extends Shared::Sink { }
269+
class Sink = Shared::Sink;
270270

271271
/** A sanitizer for stored XSS vulnerabilities. */
272-
abstract class Sanitizer extends Shared::Sanitizer { }
272+
class Sanitizer = Shared::Sanitizer;
273273

274274
/** A sanitizer guard for stored XSS vulnerabilities. */
275-
abstract class SanitizerGuard extends Shared::SanitizerGuard { }
276-
277-
// Consider all arbitrary XSS sinks to be reflected XSS sinks
278-
private class AnySink extends Sink instanceof Shared::Sink { }
279-
280-
// Consider all arbitrary XSS sanitizers to be reflected XSS sanitizers
281-
private class AnySanitizer extends Sanitizer instanceof Shared::Sanitizer { }
282-
283-
// Consider all arbitrary XSS sanitizer guards to be reflected XSS sanitizer guards
284-
private class AnySanitizerGuard extends SanitizerGuard instanceof Shared::SanitizerGuard {
285-
override predicate checks(CfgNode expr, boolean branch) {
286-
Shared::SanitizerGuard.super.checks(expr, branch)
287-
}
288-
}
275+
class SanitizerGuard = Shared::SanitizerGuard;
289276

290277
/**
291278
* An additional step that is preserves dataflow in the context of reflected XSS.
@@ -327,26 +314,13 @@ module StoredXSS {
327314
abstract class Source extends Shared::Source { }
328315

329316
/** A data flow sink for stored XSS vulnerabilities. */
330-
abstract class Sink extends Shared::Sink { }
317+
class Sink = Shared::Sink;
331318

332319
/** A sanitizer for stored XSS vulnerabilities. */
333-
abstract class Sanitizer extends Shared::Sanitizer { }
320+
class Sanitizer = Shared::Sanitizer;
334321

335322
/** A sanitizer guard for stored XSS vulnerabilities. */
336-
abstract class SanitizerGuard extends Shared::SanitizerGuard { }
337-
338-
// Consider all arbitrary XSS sinks to be stored XSS sinks
339-
private class AnySink extends Sink instanceof Shared::Sink { }
340-
341-
// Consider all arbitrary XSS sanitizers to be stored XSS sanitizers
342-
private class AnySanitizer extends Sanitizer instanceof Shared::Sanitizer { }
343-
344-
// Consider all arbitrary XSS sanitizer guards to be stored XSS sanitizer guards
345-
private class AnySanitizerGuard extends SanitizerGuard instanceof Shared::SanitizerGuard {
346-
override predicate checks(CfgNode expr, boolean branch) {
347-
Shared::SanitizerGuard.super.checks(expr, branch)
348-
}
349-
}
323+
class SanitizerGuard = Shared::SanitizerGuard;
350324

351325
/**
352326
* An additional step that preserves dataflow in the context of stored XSS.

0 commit comments

Comments
 (0)