Граф коммитов

2562 Коммитов

Автор SHA1 Сообщение Дата
Harry Maclean 375403fb9d
Merge pull request #11114 from hmac/case-barrier-guard-3
Ruby: Add case string comparison barrier guard
2022-11-30 11:21:07 +13:00
Arthur Baars 52cf27653f
Ruby: fix upgrade script 2022-11-29 13:12:14 +01:00
Arthur Baars cf7ebe2fa8
Merge pull request #11471 from github/rc/3.8
Merge rc/3.8 into main
2022-11-29 12:57:34 +01:00
Tom Hvitved f3dca95958
Merge pull request #11087 from hvitved/dataflow/summary-ctx
Data flow: Add summary/return context to pruning stages 2-4
2022-11-29 10:36:53 +01:00
Erik Krogh Kristensen 0cd50aac40
Merge pull request #11398 from erik-krogh/splat-stuff
Rb: add some more flow through splat parameters
2022-11-28 22:31:25 +01:00
Felicity Chapman b5f849463b Update QL library references 2022-11-28 15:26:24 +01:00
Tom Hvitved cde05e1190 Data flow: Sync files 2022-11-28 12:11:38 +01:00
Tom Hvitved c65780ee99 Data flow: Inline `revFlowInNotToReturn` 2022-11-28 12:11:18 +01:00
Tom Hvitved bdb205a318 Data flow: Track return kind instead of return position in pruning stages 2-4 2022-11-28 12:11:18 +01:00
Tom Hvitved 4346a7f426 Data flow: Inline `fwdFlowOutNotFromArg` 2022-11-28 12:11:18 +01:00
Tom Hvitved 70d2a0df8a Data flow: Track parameter position instead of parameter in pruning stages 2-4 2022-11-28 12:11:12 +01:00
Nick Rolfe 8a94cabdbf
Merge pull request #11250 from github/nickrolfe/stack-trace-exposure
Ruby: add stack-trace exposure query
2022-11-28 10:45:59 +00:00
erik-krogh 0c2ff98dc2
add flow from the first splat argument to the first splat parameter 2022-11-28 09:54:05 +01:00
erik-krogh d5725255fe
add failing test for splat parameter flow 2022-11-28 09:53:03 +01:00
Alex Ford 8362caa9d9
Merge pull request #11417 from alexrford/ruby/activesupport-json_escape
Ruby: model ActiveSupport `json_escape` flow
2022-11-25 10:46:34 +00:00
Harry Maclean 2822c94aa7 Ruby: Minor refactor of barrier guard code 2022-11-25 09:12:51 +13:00
Harry Maclean 6897fb46cb Ruby: Clean up WhenClause CFG 2022-11-25 09:12:51 +13:00
Alex Ford e6446e501c Ruby: fix docs failure 2022-11-24 15:37:03 +00:00
Alex Ford 893c8763bb Ruby: model ActiveSupport json_escape flow 2022-11-24 15:33:08 +00:00
Erik Krogh Kristensen 03737543d4
Merge pull request #11403 from erik-krogh/additional
ReDoS: add missing additional keywords
2022-11-24 15:53:51 +01:00
Nick Rolfe 50b10be2db Ruby: StackTraceExposure: add test for a specific rescue type 2022-11-24 14:08:34 +00:00
Nick Rolfe 1c407a28cd Apply suggestions from code review
Co-authored-by: Harry Maclean <hmac@github.com>
2022-11-24 14:02:32 +00:00
Tom Hvitved 4e4ee32dbc Data flow: Join on one more column in `flowThroughIntoCall` 2022-11-24 10:48:29 +01:00
Harry Maclean 57f689401e Ruby: SplatExprCfgNode extends UnaryOperationCfgNode 2022-11-24 17:33:57 +13:00
Erik Krogh Kristensen 3d4f64f168
Merge pull request #11397 from erik-krogh/call-instanceof
Rb: use `instanceof` instead of `extends` on `DataFlow::CallNode` in some case
2022-11-23 22:20:17 +01:00
erik-krogh 95f35196e4
add missing additional keywords 2022-11-23 20:45:51 +01:00
erik-krogh 33216f3867
cleanup imports 2022-11-23 15:22:19 +01:00
erik-krogh 19b5f64a11
use `instanceof` instead of `extends` on `DataFlow::CallNode` in some case 2022-11-23 14:58:17 +01:00
Nick Rolfe e16bdc4d07 Ruby/QL: only create dbscheme case-splits for columns on defining tables 2022-11-23 10:00:08 +00:00
Edoardo Pirovano 6c33ddcd47
Merge pull request #11349 from github/edoardo/2.11.4-mergeback
Merge `rc/3.8` into `main`
2022-11-21 18:08:27 +00:00
erik-krogh 9c792902c7
Ruby: cache the entire extractor 2022-11-21 17:55:57 +01:00
Erik Krogh Kristensen b4661f4a59
Merge pull request #11245 from erik-krogh/rb-redosMod
Ruby: use the shared regex pack
2022-11-21 15:34:20 +01:00
Tom Hvitved 2fac505221 Ruby: Update expected test output 2022-11-21 12:52:27 +01:00
Tom Hvitved e7ed056b6f Sync files 2022-11-21 12:00:36 +01:00
Tom Hvitved 99e70e9a50 Data flow: Sync files 2022-11-20 10:19:23 +01:00
Tom Hvitved a3a3b46d54 Data flow: Account for return nodes with multiple return kinds when restricting flow through
For example, flow out via parameters allows for return nodes with multiple
return kinds:

```csharp
void SetXOrY(C x, C y, bool b)
{
    C c = x;
    if (b)
        c = y;
    c.Field = taint; // post-update node for `c` has two return kinds
}
```
2022-11-20 10:18:46 +01:00
Tom Hvitved 5adf10fcba Data flow: Add return context to pruning stages 2-4 2022-11-20 10:18:46 +01:00
Tom Hvitved ca17c5b053 Data flow: Add summary context to pruning stages 2-4 2022-11-20 10:18:40 +01:00
github-actions[bot] 5b14ebf22a Post-release preparation for codeql-cli-2.11.4 2022-11-18 11:26:00 +00:00
Harry Maclean 376d4e03a1 Ruby: Cache some barrier guard predicates 2022-11-18 18:17:02 +13:00
Harry Maclean 5deb16e58c Ruby: Remove redundant predicate
The existing barrier guard machinery recognises guards such as `if x and y`,
so there's no need to explicitly model them.
2022-11-18 18:14:55 +13:00
github-actions[bot] e105c13e77 Release preparation for version 2.11.4 2022-11-17 16:40:45 +00:00
Tom Hvitved f24fa402f3 Adjust CFG 2022-11-17 10:32:28 +01:00
Harry Maclean a6f6936719
Merge pull request #11058 from hmac/actioncontroller-logger
Ruby: Model various ActionController methods
2022-11-17 08:21:00 +13:00
Tom Hvitved 67b6a82cf1
Merge pull request #11198 from hvitved/ssa/expose-phi-reads
SSA: Expose phi-read nodes
2022-11-16 15:11:58 +01:00
Anders Schack-Mulligen 94bca4399a
Merge pull request #11183 from aschackmull/dataflow/groupflow
Dataflow: Introduce support for src/sink grouping in path results.
2022-11-16 12:59:01 +01:00
Erik Krogh Kristensen 7d4ea47611
Merge pull request #10855 from erik-krogh/formatTaint
Ruby: taint-steps for printf calls - and add a `AdditionalTaintStep` class
2022-11-16 12:08:45 +01:00
Harry Maclean ed3270fb04 Ruby: Update for upstream changes 2022-11-16 14:06:32 +13:00
Harry Maclean 2e2fcd49bf Ruby: Consider Object#inspect a log sanitizer
The behaviour of `Object#inspect` depends on whether it has been
overridden by a subclass, but it will typically produce output on a
single line. Calling `inspect` on a String will replace newlines with
`\n`, which is then safe for interpolation into a log line.
2022-11-16 13:46:51 +13:00
Harry Maclean 762ebad66e Ruby: Add change note 2022-11-16 13:46:51 +13:00