Anders Schack-Mulligen
|
036724ce8d
|
Dataflow: Sync.
|
2022-10-13 11:03:30 +02:00 |
|
Erik Krogh Kristensen
|
10aab81f42
|
Merge pull request #10799 from jsoref/spelling-nfautils
ReDoS: Spelling nfautils
|
2022-10-12 23:09:06 +02:00 |
|
Josh Soref
|
09c8a98761
|
spelling: representation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-12 15:20:26 -04:00 |
|
Josh Soref
|
bb1ce8973a
|
spelling: repeatable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-12 15:20:24 -04:00 |
|
Josh Soref
|
adb8860b9b
|
spelling: pattern
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-12 15:20:24 -04:00 |
|
Asger F
|
d28b9af8bd
|
Merge pull request #10791 from asgerf/rb/rails-render-file
Ruby: treat render 'file:' argument as a file system access
|
2022-10-12 21:18:32 +02:00 |
|
Josh Soref
|
98b317d1a5
|
spelling: escape
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-12 15:02:00 -04:00 |
|
Josh Soref
|
370da943dc
|
spelling: abcdefghijklmnopqrstuvwxyz
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-12 15:02:00 -04:00 |
|
Asger F
|
7bfb3497eb
|
Ruby: change note
|
2022-10-12 14:29:34 +02:00 |
|
Asger F
|
83464d48a9
|
Merge pull request #10773 from asgerf/rb/bugfix-singleton-class-resolution
Ruby: bugfix in type-tracking singleton class resolution
|
2022-10-12 13:45:16 +02:00 |
|
Jeroen Ketema
|
d389a183f0
|
Merge pull request #10743 from jsoref/spelling
Spelling
|
2022-10-12 12:48:22 +02:00 |
|
Tom Hvitved
|
9bd25220d4
|
Merge pull request #10760 from hvitved/ruby/regex-taint-flow-restrict
Ruby: Restrict regexp taint flow to `String` summaries
|
2022-10-12 11:59:08 +02:00 |
|
Nick Rolfe
|
39107047bf
|
Merge pull request #10735 from github/nickrolfe/actionmailer
Ruby: add `ActionMailer#params` as a `RemoteFlowSource`
|
2022-10-12 10:21:11 +01:00 |
|
Asger F
|
e55be83645
|
Ruby: add 'render file:' as file system access
|
2022-10-12 09:47:04 +02:00 |
|
Asger F
|
ed165c6194
|
Ruby: bugfix in self-resolution in type-tracking
|
2022-10-11 18:53:20 +02:00 |
|
Asger F
|
a64286b664
|
Ruby: add test for singleton class instance field
incorrect test output
|
2022-10-11 18:53:20 +02:00 |
|
Nick Rolfe
|
078c3e9d28
|
Ruby: create top-level module for ActionMailer
|
2022-10-11 15:22:42 +01:00 |
|
Tom Hvitved
|
2e8f46ddd9
|
Type tracking: Split up levelStep into levelStepNoCall and levelStepCall
To reduce non-linear recursion during call graph construction.
|
2022-10-11 13:58:46 +02:00 |
|
Asger F
|
02656b16c3
|
Merge pull request #10685 from asgerf/rb/splat-and-local-field-step
Ruby: summarize unary splat operators and add local field step
|
2022-10-11 13:28:58 +02:00 |
|
Erik Krogh Kristensen
|
01bc5f7226
|
Merge pull request #10731 from erik-krogh/rb-last-msg
Ruby: fix some more style-guide violations in the alert-messages
|
2022-10-11 12:16:52 +02:00 |
|
Tom Hvitved
|
878654e0ff
|
Merge pull request #10763 from hvitved/ruby/move-summarized-callable-from-model
Ruby: Move `SummarizedCallableFromModel` into `ModelsAsData.qll`
|
2022-10-11 11:47:38 +02:00 |
|
Tom Hvitved
|
2b75562037
|
Ruby: Use DataFlow::Configuration in RegExpConfiguration.qll
|
2022-10-11 11:39:45 +02:00 |
|
erik-krogh
|
42e1735f2a
|
update expected output
|
2022-10-11 11:37:26 +02:00 |
|
erik-krogh
|
8779da8c0b
|
reintroduce Psych
|
2022-10-11 11:14:52 +02:00 |
|
Erik Krogh Kristensen
|
7d282c3d75
|
fix casing in alert-message
Co-authored-by: Arthur Baars <aibaars@github.com>
|
2022-10-11 11:12:59 +02:00 |
|
Tom Hvitved
|
d6df69d481
|
Merge pull request #10754 from hvitved/dataflow/non-hidden-succ-fast-tc
Data flow: Improve `fastTC` bound in `PathNodeImpl::getANonHiddenSuccessor`
|
2022-10-11 11:12:58 +02:00 |
|
Tom Hvitved
|
53abdb3fb5
|
Ruby: Move SummarizedCallableFromModel into ModelsAsData.qll
|
2022-10-11 11:06:35 +02:00 |
|
erik-krogh
|
9a9d2a6fe1
|
Merge branch 'main' into rb-last-msg
|
2022-10-11 10:43:39 +02:00 |
|
Asger F
|
b6e07c0cd5
|
Ruby: block API graph nodes from tracking through self-argument passing
|
2022-10-11 09:03:52 +02:00 |
|
Asger F
|
125761755a
|
Ruby: do not generate API graph edges from Attribute contents
Models should use Method[x] edges, not attribute edges
|
2022-10-11 09:03:52 +02:00 |
|
Asger F
|
6daa1c432b
|
Ruby: update test output
|
2022-10-11 09:03:51 +02:00 |
|
Asger F
|
38a3476d37
|
Ruby: add local field step to type tracking
fixup local field steps
|
2022-10-11 09:03:51 +02:00 |
|
Asger F
|
d55925d8d4
|
Ruby: support splat type-tracking step
|
2022-10-11 09:03:51 +02:00 |
|
Josh Soref
|
b5bed9cbf5
|
spelling: explicitly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-11 00:23:36 -04:00 |
|
Josh Soref
|
cbea5ec40c
|
spelling: executables
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-11 00:23:36 -04:00 |
|
Josh Soref
|
6db36616cd
|
spelling: arbitrary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
2022-10-11 00:23:35 -04:00 |
|
Tom Hvitved
|
6c2eee3eb8
|
Ruby: Restrict regexp taint flow to String summaries
|
2022-10-10 20:58:41 +02:00 |
|
Tom Hvitved
|
ffb2b1c15e
|
Data flow: Sync files
|
2022-10-10 15:39:13 +02:00 |
|
Erik Krogh Kristensen
|
8cc52a4b55
|
Merge pull request #10704 from erik-krogh/rbMeta
RB: add some more meta queries for Ruby evaluations
|
2022-10-10 14:57:37 +02:00 |
|
Tom Hvitved
|
60fe370f2a
|
Merge pull request #10744 from hvitved/dataflow/has-flow-to-no-fast-tc
Data flow: Avoid call to `pathSuccPlus` in `Configuration::hasFlowTo(Expr)`
|
2022-10-10 14:02:39 +02:00 |
|
Tom Hvitved
|
099251a30a
|
Merge pull request #10741 from hvitved/ruby/no-full-fast-tc
Ruby: Avoid computing full `fastTC` for `AstNode::getParent`
|
2022-10-10 14:01:56 +02:00 |
|
erik-krogh
|
38c17c5d0c
|
Merge branch 'main' into rbMeta
|
2022-10-10 12:22:56 +02:00 |
|
Nick Rolfe
|
e38cfd5f7d
|
Ruby: add changenote for ActionMailer params
|
2022-10-10 10:25:19 +01:00 |
|
Nick Rolfe
|
d61f0559a0
|
Ruby: add ActionMailer#params as a RemoteFlowSource
|
2022-10-10 10:23:48 +01:00 |
|
Tom Hvitved
|
efa6b3c0c6
|
Ruby: Cache uses of DataFlowImplForHttpClientLibraries
|
2022-10-09 19:59:56 +02:00 |
|
Tom Hvitved
|
9f34bf80fd
|
Ruby: Cache use of DataFlowImplForPathname
|
2022-10-09 19:59:05 +02:00 |
|
Tom Hvitved
|
296ec94a2a
|
Data flow: Sync files
|
2022-10-09 19:48:45 +02:00 |
|
Tom Hvitved
|
d1c8c40c17
|
Data flow: Avoid call to pathSuccPlus in Configuration::hasFlowTo(Expr)
|
2022-10-09 19:48:44 +02:00 |
|
Tom Hvitved
|
02192acd5f
|
Ruby: Avoid computing full fastTC for AstNode::getParent
DIL before
```
/* AST::AstNode */ AST#87953007::Cached::TAstNode result) =
fastTC(AST#a6718388::AstNode::getAChild#0#dispred#ff/2)
.
Synthesis#d9ff06b1::Desugared::getADescendant#0#dispred#ff(/* Synthesis::Desugared */ AST#87953007::Cached::TAstNode this,
/* AST::AstNode */ AST#87953007::Cached::TAstNode result)
:-
(
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
result = this
);
(
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
#AST#a6718388::AstNode::getAChild#0#dispredPlus#ff(this, result)
)
.
```
DIL after
```
incremental
Synthesis#d9ff06b1::Desugared::getADescendant#ff(/* Synthesis::Desugared */ AST#87953007::Cached::TAstNode this,
/* AST::AstNode */ AST#87953007::Cached::TAstNode result)
:-
(
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
result = this
);
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode call_result#2 |
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
rec Synthesis#d9ff06b1::Desugared::getADescendant#ff(this, call_result#2),
exists(cached dontcare string _ |
AST#a6718388::AstNode::getAChild#1#dispred(call_result#2, _, result)
)
)
| [base_case]
exists(int arg1, /* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
result = this
| [delta_order]
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode call_result#2 |
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
delta previous rec Synthesis#d9ff06b1::Desugared::getADescendant#ff(this,
call_result#2),
project#AST#a6718388::AstNode::getAChild#1#dispred(call_result#2, result)
),
not(
previous rec Synthesis#d9ff06b1::Desugared::getADescendant#ff(this, result)
)
| [delta_order_up_to_500000]
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode call_result#2 |
delta previous rec Synthesis#d9ff06b1::Desugared::getADescendant#ff(this,
call_result#2),
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, this)
),
project#AST#a6718388::AstNode::getAChild#1#dispred(call_result#2, result)
),
not(
previous rec Synthesis#d9ff06b1::Desugared::getADescendant#ff(this, result)
)
.
```
|
2022-10-09 11:12:24 +02:00 |
|
Tom Hvitved
|
d39b0fd3f4
|
Ruby: Avoid computing full fastTC for AstNode::getParent
DIL before
```
/* AST::AstNode */ AST#87953007::Cached::TAstNode result) =
fastTC(AST#a6718388::AstNode::getAChild#0#dispred#ff/2)
.
Synthesis#d9ff06b1::isInDesugaredContext#1#f(/* AST::AstNode */ unique AST#87953007::Cached::TAstNode n)
:-
exists(int arg1, /* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, n)
);
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode call_result#2 |
exists(int arg1,
/* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, call_result#2)
),
#AST#a6718388::AstNode::getAChild#0#dispredPlus#ff(call_result#2, n)
)
.
```
DIL after
```
incremental
Synthesis#d9ff06b1::isInDesugaredContext#1#f(/* AST::AstNode */ unique AST#87953007::Cached::TAstNode n)
:-
exists(int arg1, /* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, n)
);
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode any#expr##2 |
rec Synthesis#d9ff06b1::isInDesugaredContext#1#f(any#expr##2),
exists(cached dontcare string _ |
AST#a6718388::AstNode::getAChild#1#dispred(any#expr##2, _, n)
)
)
| [base_case]
exists(int arg1, /* AST::AstNode */ dontcare AST#87953007::Cached::TAstNode _ |
arg1 = -1, AST#87953007::Cached::getSynthChild#2(_, arg1, n)
)
| [delta_order]
exists(/* AST::AstNode */ AST#87953007::Cached::TAstNode any#expr##2 |
delta previous rec Synthesis#d9ff06b1::isInDesugaredContext#1#f(any#expr##2),
project#AST#a6718388::AstNode::getAChild#1#dispred(any#expr##2, n)
),
not(previous rec Synthesis#d9ff06b1::isInDesugaredContext#1#f(n))
.
``
|
2022-10-09 11:11:48 +02:00 |
|