mirror of
https://github.com/github/codeql.git
synced 2025-12-23 20:26:32 +01:00
38 lines
687 B
Ruby
38 lines
687 B
Ruby
class Foo
|
|
def set_field x
|
|
@field = x
|
|
end
|
|
def get_field
|
|
return @field
|
|
end
|
|
def inc_field
|
|
@field += 1
|
|
end
|
|
@foo = source("7")
|
|
sink(@foo) # $ hasValueFlow=7
|
|
|
|
end
|
|
foo = Foo.new
|
|
foo.set_field(source(42))
|
|
sink(foo.get_field) # $ hasValueFlow=42
|
|
|
|
bar = Foo.new
|
|
bar.set_field(source(5))
|
|
sink(bar.inc_field) # $ hasTaintFlow=5
|
|
|
|
foo1 = Foo.new
|
|
foo1.field = source(20)
|
|
sink(foo1.field) # $ hasValueFlow=20
|
|
|
|
foo2 = Foo.new
|
|
foo2.field = source(21)
|
|
sink(foo2.get_field) # $ hasValueFlow=21
|
|
|
|
foo3 = Foo.new
|
|
foo3.set_field(source(22))
|
|
sink(foo3.field) # $ hasValueFlow=22
|
|
|
|
foo4 = "hello"
|
|
foo4.other = source(23)
|
|
sink(foo4.other) # $ hasValueFlow=23
|