Chris Smowton
2aa5cf84ff
Merge pull request #18215 from smowton/smowton/ke2/basic-generics
...
KE2: Upgrade to Kotlin 2.1.0; restore basic type parameter and type argument extraction
2024-12-13 15:39:54 +00:00
Chris Smowton
b60298d033
Rename classId
2024-12-11 15:58:44 +00:00
Chris Smowton
53593a39f0
Note Kotlin class ID distinction is a TODO
2024-12-11 15:57:09 +00:00
Chris Smowton
44e44dcce9
Cascade failures from failure to find a type-parameter parent.
2024-12-11 15:46:03 +00:00
Chris Smowton
504a630123
Note class of unexpected type arguments
2024-12-11 15:32:44 +00:00
Chris Smowton
448d3680f6
Add comment noting structure of argsIncludingOuterClasses
2024-12-11 15:31:45 +00:00
Chris Smowton
43576a169f
Add comment noting Caffeiene dependency
2024-12-11 15:29:15 +00:00
Ian Lynagh
fbead0fd63
Merge pull request #18254 from igfoo/igfoo/extractExpressionStmt
...
KE2: extractExpressionStmt can be used with null statements
2024-12-10 11:25:16 +00:00
Ian Lynagh
0f2634a228
KE2: extractExpressionStmt can be used with null statements
2024-12-09 16:54:23 +00:00
Ian Lynagh
8c8599435e
Merge pull request #18250 from igfoo/igfoo/extractExpressionExpr
...
KE2: extractExpressionExpr can take null expressions
2024-12-09 14:38:42 +00:00
Ian Lynagh
f4ae7f8e81
KE2: extractExpressionExpr can take null expressions
2024-12-09 14:31:43 +00:00
Ian Lynagh
b1683f7549
Merge pull request #18237 from igfoo/igfoo/ret
...
KE2: extractExpression always returns an ID
2024-12-09 11:48:34 +00:00
Ian Lynagh
ada6801a17
KE2: extractExpression always returns an ID
...
It used to sometimes return null, which could mean either it extracted a
statement or it failed to extract an expression. Also, what it returned
didn't take into account any ExprStmt or StmtExpr wrappers.
Now, it will always return an ID of the type that it StmtExprParent
corresponds to.
2024-12-06 15:23:42 +00:00
Ian Lynagh
d568d04357
Merge pull request #18210 from igfoo/igfoo/nullExpr
...
KE2: Start generating errorexprs/errorstmts
2024-12-05 13:19:28 +00:00
Ian Lynagh
d36fabf4ec
KE2: Add a TODO
2024-12-05 13:02:09 +00:00
Chris Smowton
784a63b6d5
KE2: Restore the basics of type-parameter and type-argument extraction
2024-12-04 22:38:06 +00:00
Chris Smowton
2cc2d931f3
KE2: Upgrade to Kotlin 2.1.0
2024-12-04 22:38:05 +00:00
Chris Smowton
51a1ea52e1
Merge pull request #18150 from smowton/smowton/ke2/external-class-extraction
...
KE2: restore basic function label construction
2024-12-04 22:37:37 +00:00
Chris Smowton
0d39ab21c5
Address review comments
2024-12-04 22:37:09 +00:00
Ian Lynagh
7f6818042d
KE2: Generate erors for null expressions/statements
2024-12-04 18:03:54 +00:00
Ian Lynagh
af1804380a
KE2: Add support for generating error expressions and statements
2024-12-04 17:52:26 +00:00
Ian Lynagh
d8a9615c0c
Merge pull request #18182 from igfoo/igfoo/bb
...
KE2: Remove some unnecessary !!s
2024-12-03 14:18:49 +00:00
Ian Lynagh
769a615de1
KE2: Remove some unnecessary !!s
...
useType already handles null types, and extracts an error type for them.
The error also includes info about where that came from via the `with`
stack, although we might want to make that finer grained in future.
2024-12-03 14:18:03 +00:00
Ian Lynagh
b1b8717718
Merge pull request #18183 from igfoo/igfoo/callable
...
KE2: Put 'callable' into 'StmtParent'
2024-12-03 12:42:50 +00:00
Ian Lynagh
703aee2ae6
KE2: Remove most redundant 'callable' args
2024-12-02 18:28:15 +00:00
Ian Lynagh
034f283c4f
KE2: Tell StmtExprParent about callable
...
This should allow us to simplify everything that uses it.
2024-12-02 18:02:11 +00:00
Tamás Vajk
439e8f079c
Merge pull request #18128 from tamasvajk/ke-constants
...
KE2: Extract `bool`, `char`, `float`, `double` constants
2024-12-02 14:59:01 +01:00
Tamas Vajk
98ab6213a4
Code quality improvement
2024-12-02 14:26:10 +01:00
Ian Lynagh
2490606cd1
Merge pull request #18168 from igfoo/igfoo/nofake
...
KE2: Remove the fakeOverride code
2024-12-02 12:18:39 +00:00
Tamas Vajk
6118253b14
Code quality improvements
2024-12-02 12:07:44 +01:00
Tamas Vajk
149136c2a4
KE2: Extract bool, char, float, double constants
2024-12-02 11:58:12 +01:00
Ian Lynagh
0ccf117bf7
KE2: Remove the fakeOverride code
...
As far as I can see, the analysis API isn't giving us fake overrides.
2024-11-29 17:49:13 +00:00
Ian Lynagh
7b4e830386
Merge pull request #18149 from igfoo/igfoo/with
...
KE2: Small method renaming
2024-11-28 15:44:26 +00:00
Chris Smowton
cf78938a0d
KE2: restore basic function label construction
2024-11-28 15:38:13 +00:00
Ian Lynagh
078e292c74
Merge pull request #18148 from igfoo/igfoo/dollar
...
KE2: Simplify escaping a dollar in a string
2024-11-28 15:25:52 +00:00
Ian Lynagh
194a61945e
KE2: Small method renaming
2024-11-28 14:50:02 +00:00
Ian Lynagh
4765917d34
KE2: Simplify escaping a dollar in a string
2024-11-28 14:38:51 +00:00
Ian Lynagh
51c79952f3
Merge pull request #18146 from igfoo/igfoo/fix
...
KE2: Fix build
2024-11-28 13:04:33 +00:00
Ian Lynagh
433f5d311b
KE2: Fix build
2024-11-28 12:36:20 +00:00
Tamás Vajk
0572e28adc
Merge pull request #18127 from tamasvajk/ke-null
...
KE2: Extract `null` literal
2024-11-28 09:11:05 +01:00
Chris Smowton
222b50cd5e
Merge pull request #18134 from smowton/smowton/ke2/external-class-extraction
...
KE2: basic external class extraction
2024-11-27 18:15:33 +00:00
Chris Smowton
fe4dc296f5
Don't query non-Kt source elements for locations etc
2024-11-27 18:04:40 +00:00
Chris Smowton
54961ddc88
Fixups
2024-11-27 17:54:45 +00:00
Ian Lynagh
d46cb189d8
Merge pull request #18135 from igfoo/igfoo/priv_unused
...
KE2: Remove some debugging functions, and mark some others as private
2024-11-27 17:43:52 +00:00
Chris Smowton
d27b5ed96e
Remove redundant comment
2024-11-27 17:12:22 +00:00
Chris Smowton
dd9d8720b0
Add doc comment
2024-11-27 17:12:21 +00:00
Chris Smowton
a3d78f1bad
Neaten symbol-to-location
2024-11-27 17:12:20 +00:00
Chris Smowton
cc0a112ea6
Generalise warnElement and errorElement
2024-11-27 17:12:19 +00:00
Chris Smowton
97ecd18678
Merge duplicate functions
2024-11-27 17:12:18 +00:00
Chris Smowton
e29d9ddacb
Restore location and name reporting for symbols
2024-11-27 17:12:17 +00:00
Chris Smowton
bfdb5e0b17
Add error function taking a throwable to LoggerBase
2024-11-27 17:12:16 +00:00
Chris Smowton
dfad8c8475
Don't bubble TODOs and other unchecked exceptions up to top level
2024-11-27 17:12:15 +00:00
Chris Smowton
1fc2a61f95
KE2: basic external class extraction
2024-11-27 17:12:12 +00:00
Tamas Vajk
def1916fd8
KE2: Extract null literal
2024-11-27 16:47:12 +01:00
Tamás Vajk
7e77ad2e71
Merge pull request #18110 from tamasvajk/ke2-lambda
...
KE2: Extract lambda expressions
2024-11-27 16:43:47 +01:00
Ian Lynagh
75f1c08ea2
KE2: Remove some debugging functions, and mark some others as private
2024-11-27 15:25:32 +00:00
Tamas Vajk
352e5d0c68
Remove unused code
2024-11-27 15:45:38 +01:00
Tamas Vajk
7d50eb5670
Fix review findings
2024-11-27 14:38:05 +01:00
Tamas Vajk
44e318546f
KE2: Extract more constructs for lambda expressions
2024-11-27 14:38:05 +01:00
Tamas Vajk
b42fbde130
KE2: Extract generated class for lambda expressions
2024-11-27 14:37:58 +01:00
Ian Lynagh
5245dad3c1
Merge pull request #18118 from igfoo/igfoo/diag
...
KE2: Put diagnostics from the analysis API into the database
2024-11-27 10:57:22 +00:00
Ian Lynagh
cc0eb9ab36
KE2: Put diagnostics from the analysis API into the database
2024-11-26 15:42:38 +00:00
Ian Lynagh
48168bf66c
Merge pull request #18096 from igfoo/igfoo/deprec
...
KE2: Don't actually deprecate WhenBranch.getCondition() yet
2024-11-26 14:48:27 +00:00
Ian Lynagh
661fb9ee58
Merge pull request #18095 from igfoo/igfoo/remove
...
KE2: Remove some old debugging code
2024-11-26 14:48:16 +00:00
Ian Lynagh
2c595417f1
KE2: Don't actually deprecate WhenBranch.getCondition() yet
...
It makes a lot of noise in the CFG QLL, that we aren't fixing yet
2024-11-25 17:14:35 +00:00
Ian Lynagh
0b529c92bc
KE2: Remove some old debugging code
2024-11-25 17:04:27 +00:00
Ian Lynagh
86ddb3b6c1
Merge pull request #18081 from igfoo/igfoo/dbscheme_comments
...
KE2: Add more dbscheme comments
2024-11-25 12:06:18 +00:00
Tamás Vajk
0103711b47
Merge pull request #18058 from tamasvajk/ke2-when
...
KE2: Extract `when` expressions
2024-11-25 09:04:24 +01:00
Ian Lynagh
bb50bc0d85
Merge pull request #18075 from igfoo/igfoo/comp
...
KE2: Small refactoring
2024-11-22 15:34:28 +00:00
Ian Lynagh
37e950dcbf
Merge pull request #18076 from igfoo/igfoo/werror
...
KE2: Add warnings-as-error to build system, but commented out for now
2024-11-22 15:33:51 +00:00
Ian Lynagh
b816c1f396
Merge pull request #18077 from igfoo/igfoo/stmt
...
KE2: Reenable more code for ExprParent.stmt
2024-11-22 15:33:38 +00:00
Ian Lynagh
bafee5ec10
Merge pull request #18079 from igfoo/igfoo/dc
...
KE2: Remove some dead code
2024-11-22 15:33:20 +00:00
Tamas Vajk
3abd9a755e
Code quality improvements
2024-11-22 16:22:39 +01:00
Ian Lynagh
b3dbd73741
KE2: Remove some dead code
2024-11-22 14:10:47 +00:00
Ian Lynagh
19986f0307
KE2: Reenable more code for ExprParent.stmt
2024-11-22 14:04:02 +00:00
Ian Lynagh
cb8237fe67
KE2: Add warnings-as-error to build system, but commented out for now
...
Once we get closer to completion, it will be useful to have this on.
2024-11-22 13:42:31 +00:00
Ian Lynagh
d280a41062
KE2: Small refactoring
...
Avoids shadowing `trapWriterWriteExpr`, and removes the need to check
for an impossible case.
2024-11-22 13:39:55 +00:00
Ian Lynagh
05fa3328f0
Merge pull request #18064 from igfoo/igfoo/ke2_lang_ver
...
KE2: Use the right language version
2024-11-22 11:41:32 +00:00
Ian Lynagh
40006fc566
Merge pull request #18031 from igfoo/igfoo/kttypes
...
KE2: Start working on KtTypes
2024-11-22 11:41:01 +00:00
Tamas Vajk
6c8cb103fc
Fix KE1
2024-11-22 11:37:09 +01:00
Tamas Vajk
052a243db6
Fix KE1 to extract the new when condition constructs
2024-11-22 10:16:41 +01:00
Ian Lynagh
6d990d47db
KE2: Use the right language version
...
With this, if I make the testsuite driver use 1.7, then the test code
sealed interface ReadResult
data class Number(val number: Int) : ReadResult
data class Text(val text: String) : ReadResult
data object EndOfFile : ReadResult
makes the extractor print
=== Diagnostics
--- Diagnostic:
WRONG_MODIFIER_TARGET
ERROR
Modifier 'data' is not applicable to 'standalone object'.
Location(startLine=5, startColumn=1, endLine=5, endColumn=4)
--- End diagnostics
2024-11-21 16:36:16 +00:00
Ian Lynagh
82c41316c6
KE2: Populate Kotlin type nullability and alias information
2024-11-21 16:00:01 +00:00
Ian Lynagh
7baeea6365
KE2: Use a more consistent TRAP label
2024-11-21 15:21:35 +00:00
Ian Lynagh
d17e3d521c
KE2: Start working on KtTypes
2024-11-21 15:21:34 +00:00
Ian Lynagh
eae40dbc03
KE2: Keep KE1 building with the kt-type changes
...
It won't work, but it'll still compile
2024-11-21 15:21:33 +00:00
Tamas Vajk
a2d90ed0c6
KE2: Extract when expressions
2024-11-21 16:02:20 +01:00
Ian Lynagh
74ee483fa1
KE2: Add rules_jvm_external back to build system
2024-11-20 18:23:01 +00:00
Ian Lynagh
8fe48d6dce
Merge commit 'e3990b7d04db2ca3ac99c029a0afc131e695db0b' into ke2
...
That is the repo ql as at the internal repo's
git merge-base origin/rc/3.16 origin/main
2024-11-20 17:40:00 +00:00
Chris Smowton
e89e0f5c4a
Merge pull request #18027 from igfoo/igfoo/fixbuild
...
KE2: Fix build
2024-11-20 16:48:36 +00:00
Tamás Vajk
1dbf54e9e7
Merge pull request #18028 from tamasvajk/ke2-if
...
KE2: Extract `if` expressions/statements
2024-11-19 18:40:45 +01:00
Tamas Vajk
39aefb8d17
Fix code review finding
2024-11-19 18:06:35 +01:00
Tamas Vajk
28a5634615
KE2: Extract if expressions/statements
2024-11-19 13:57:18 +01:00
Ian Lynagh
e4a82888c0
KE2: Fix build
2024-11-19 11:56:55 +00:00
Ian Lynagh
147f6a10e7
Merge pull request #18016 from igfoo/igfoo/file_numbers
...
KE2: Use the right file numbers
2024-11-19 11:03:55 +00:00
Tamás Vajk
750b8239e7
Merge pull request #18006 from tamasvajk/ke2-parens
...
KE2: Extract parenthesized expressions
2024-11-19 11:23:39 +01:00
Michael Nebel
e3990b7d04
C#: Add change-note.
2024-11-19 10:56:19 +01:00
Michael Nebel
263a4a9fcb
C#: Allow other characters between build-stdput and the expected message.
2024-11-19 10:26:07 +01:00
Michael Nebel
f89e80f402
C#: Update integration tests expected output.
2024-11-19 10:26:06 +01:00
Michael Nebel
05a19adc8f
C#: Update global.json files.
2024-11-19 10:26:04 +01:00
Michael Nebel
d8313fc7b4
C#: Update .NET version in project files.
2024-11-19 10:26:02 +01:00
Michael Nebel
6b9d9a2c94
C#: Update stub generator script.
2024-11-19 10:26:00 +01:00
Michael Nebel
57e0e2dba1
C#: Update workflow files and scripts.
2024-11-19 10:25:58 +01:00
Michael Nebel
201a5e9faa
C#: Update the extractor to target .NET 9.
2024-11-19 10:25:52 +01:00
Paolo Tranquilli
99494dd540
Merge pull request #18012 from github/revert-18011-revert-17937-redsun82/rust-cargo-options
...
Revert "Revert "Rust: allow to specify more cargo configuration options""
2024-11-19 09:03:52 +01:00
Tamas Vajk
ea54eab376
Add todo comment
2024-11-19 08:37:38 +01:00
Owen Mansel-Chan
e2f17c63d7
Merge pull request #17988 from owen-mc/java/fix-unreachable-blocks-in-const-switch-stmt
...
Java: fix unreachable basic blocks in const switch stmt
2024-11-19 00:48:12 +00:00
Owen Mansel-Chan
c5bec1cc7f
Merge pull request #17966 from owen-mc/go/mad/subtypes-true
...
Go: set `subtypes` column to true for models where it has a meaning
2024-11-19 00:43:55 +00:00
Jeroen Ketema
b622c6e9ca
Merge pull request #18015 from jketema/cpu-cleanup
...
Remove duplicated "Supported CPU architectures" from "Supported platforms" table
2024-11-18 21:10:17 +01:00
Ian Lynagh
7bda00cb5b
KE2: Use the right file numbers
...
The thread that did the extraction could see the file number counter
after it had been incremented (possibly multiple times) by the main
thread. This fixes some consistency query failures in tests.
2024-11-18 18:37:56 +00:00
Jeroen Ketema
ba545ca5d8
Remove duplicated "Supported CPU architectures" from "Supported platforms" table
2024-11-18 19:18:35 +01:00
Mathias Vorreiter Pedersen
f2f83f77e0
Merge pull request #18013 from MathiasVP/non-boolean-consistency-check
...
C++: Add another IR consistency query
2024-11-18 17:27:33 +00:00
Paolo Tranquilli
5c1f413d44
Java: fix embedded kotlin extractor build
2024-11-18 17:47:24 +01:00
Paolo Tranquilli
f7ee5f4bf5
Merge pull request #18003 from github/redsun82/rust-qltest
...
Rust: only accept `options.yml` in QL tests
2024-11-18 17:24:57 +01:00
Paolo Tranquilli
8377ee545f
Rust: fix reading lists from options.yml
2024-11-18 17:22:23 +01:00
Mathias Vorreiter Pedersen
ccca0b6ba4
C++: Also update syntax-zoo tests.
2024-11-18 15:56:41 +00:00
Mathias Vorreiter Pedersen
4a4552bbc1
C++: Also update the consistency query itself.
2024-11-18 15:55:25 +00:00
Mathias Vorreiter Pedersen
28391d19b6
C++: Add some more tests to expose consistency issues.
2024-11-18 15:25:57 +00:00
Mathias Vorreiter Pedersen
493ea6da31
C++: Add a new consistency check for branching on non-boolean values.
2024-11-18 15:21:28 +00:00
Paolo Tranquilli
0943389ca1
Rust: add rust-specific deps updater script
2024-11-18 16:16:54 +01:00
Paolo Tranquilli
e077bf0732
Rust: update vendored dependencies
2024-11-18 16:06:27 +01:00
Mathias Vorreiter Pedersen
6785b93ed8
Merge pull request #17938 from MathiasVP/fix-fp-in-missing-check-scanf-fixing-take-2
...
C++: Fix some FPs in `cpp/missing-check-scanf` (second attempt)
2024-11-18 15:05:18 +00:00
Paolo Tranquilli
abd73e16d4
Revert "Revert "Rust: allow to specify more cargo configuration options""
2024-11-18 15:52:03 +01:00
Paolo Tranquilli
d9b86f55c8
Merge pull request #18011 from github/revert-17937-redsun82/rust-cargo-options
...
Revert "Rust: allow to specify more cargo configuration options"
2024-11-18 15:46:55 +01:00
Mathias Vorreiter Pedersen
86e95f14e0
Update cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-11-18 14:37:52 +00:00
Paolo Tranquilli
04072591c4
Revert "Rust: allow to specify more cargo configuration options"
2024-11-18 15:36:06 +01:00
Mathias Vorreiter Pedersen
90d7616f14
C++: Add change note.
2024-11-18 14:31:36 +00:00
Napalys Klicius
9457bc3548
Merge pull request #17993 from Napalys/napalys/ES2023-array-protype-with
...
JS: Added support for Array.prototype.with() ES2023 feature
2024-11-18 14:37:53 +01:00
Tamas Vajk
9f3a0ca432
KE2: Extract parenthesized expressions
2024-11-18 13:41:05 +01:00
Paolo Tranquilli
fa52d03194
Merge pull request #17937 from github/redsun82/rust-cargo-options
...
Rust: allow to specify more cargo configuration options
2024-11-18 13:24:39 +01:00
Paolo Tranquilli
b11388c49b
Rust: accept test changes
2024-11-18 12:06:25 +01:00
Tamás Vajk
b84b687b0d
Merge pull request #17992 from tamasvajk/binlog/no-compilations
...
C#: Consider the extraction of empty binlog files acceptable
2024-11-18 11:09:57 +01:00
Paolo Tranquilli
8137419d93
Rust: only accept options.yml in QL tests
2024-11-18 10:40:29 +01:00
Paolo Tranquilli
0356cdc3cc
Merge pull request #18002 from github/redsun82/rust-ql-test-deps
...
Rust: add optional dependencies to ql tests
2024-11-18 10:32:09 +01:00
Paolo Tranquilli
75375be7ac
Rust: add optional dependencies to ql tests
...
Also accept `options.yml` and `options.yaml` files as well for test options,
to get YAML syntax highlighting. In a follow up PR we might make the extension
mandatory.
2024-11-18 09:42:01 +01:00
Simon Friis Vindum
d178d84ea9
Merge pull request #17995 from paldepind/rust-df-source-sink-fix
...
Rust: Fix default source and sink in inline flow test
2024-11-18 09:19:08 +01:00
Simon Friis Vindum
0e025abd13
Rust: Add custom toString predicate for path expression
2024-11-18 09:09:03 +01:00
Napalys Klicius
a23850940f
Merge branch 'main' into napalys/ES2023-array-protype-with
2024-11-18 08:25:09 +01:00
Napalys Klicius
63bc1ef69f
Merge pull request #17977 from Napalys/napalys/toSpliced-support
...
JS: Added support for Array.prototype.toSpliced() ES2023 feature
2024-11-18 08:24:49 +01:00
Napalys
1304ab7065
Added change notes
2024-11-18 08:05:51 +01:00
Mathias Vorreiter Pedersen
19d53fba8c
C++: Exclude guards in static local or global initializers.
2024-11-17 19:51:35 +00:00
Owen Mansel-Chan
06b72e5782
Update models in test expectation files
2024-11-16 19:44:32 +00:00
Owen Mansel-Chan
5745969462
Set subtypes=false when it has no meaning
2024-11-16 19:34:23 +00:00
Mathias Vorreiter Pedersen
409f2c1251
C++: Make the formatting of conjunct when using 'getDualValue' consistent.
2024-11-15 15:20:04 +00:00
Mathias Vorreiter Pedersen
459bb6ed04
Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-11-15 14:43:04 +00:00
Mathias Vorreiter Pedersen
5f9d3d7b09
C++: Rename 'ScrutineeValueNumber' to 'SwitchConditionValueNumber'.
2024-11-15 14:28:56 +00:00
Mathias Vorreiter Pedersen
feea29b8fe
C++: Move classes.
2024-11-15 14:21:18 +00:00
Mathias Vorreiter Pedersen
c80bea33e5
C++: Stylistic fixes.
2024-11-15 14:20:12 +00:00
Tamás Vajk
e081b9a420
Merge pull request #17984 from tamasvajk/fix/tech-debt-01
...
Merge `Semmle.Extraction` into `Semmle.Extraction.CSharp`
2024-11-15 14:27:57 +01:00
Simon Friis Vindum
7cb9d07f59
Rust: Fix default source and sink in inline flow test
2024-11-15 11:59:48 +01:00
Ian Lynagh
b1ac02795b
Merge pull request #17991 from igfoo/igfoo/redundant
...
Go: Remove a redundant override
2024-11-15 10:55:56 +00:00
Napalys
bed1f25b3f
JS: Fix: Now Array.prototype.with is properly flagged as taint step
2024-11-15 10:35:34 +01:00
Napalys
f04fd5cdcc
JS: Add: Test case for Array.protype.with taint step
2024-11-15 10:27:44 +01:00
Tamas Vajk
e3b83bb4b4
Undo accidental comment removal
2024-11-15 10:19:33 +01:00
Napalys
631a3770ec
JS: Add: change notes
2024-11-15 09:16:21 +01:00
Tamas Vajk
da5573203e
C#: Consider the extraction of empty binlog files acceptable
2024-11-15 08:35:21 +01:00
Mathias Vorreiter Pedersen
42c1937776
Update IRGuards.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-11-14 21:28:54 +00:00
Mathias Vorreiter Pedersen
229d40ad8b
Update IRGuards.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-11-14 21:28:43 +00:00
Mathias Vorreiter Pedersen
b10696c155
Update IRGuards.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-11-14 21:28:33 +00:00
Ian Lynagh
50b9702afd
Go: Remove a redundant override
2024-11-14 21:19:29 +00:00
Mathias Vorreiter Pedersen
6e7256f9d4
C++: Delete unused predicates.
2024-11-14 16:46:19 +00:00
Mathias Vorreiter Pedersen
bb85aa2fc9
C++: Accept test changes.
2024-11-14 16:29:51 +00:00
Mathias Vorreiter Pedersen
442968c3c2
C++: Properly restrict 'unary_simple_comparison_eq'.
2024-11-14 16:29:49 +00:00
Mathias Vorreiter Pedersen
db38069290
C++: Use value numbering in IRGuards.
2024-11-14 16:29:48 +00:00
Mathias Vorreiter Pedersen
a40c1d50b8
C++: Add FP tests.
2024-11-14 16:13:46 +00:00
Napalys Klicius
6fa3ff39a0
Merge branch 'main' into napalys/toSpliced-support
2024-11-14 16:56:32 +01:00
Owen Mansel-Chan
ba239a1be0
Add change note
2024-11-14 15:02:21 +00:00
Owen Mansel-Chan
bf0fba6c49
Refactor UnreachableBasicBlock to make it clearer
2024-11-14 14:53:12 +00:00
Owen Mansel-Chan
efb34aea45
Fix bug in UnreachableBlocks
2024-11-14 14:50:25 +00:00
Napalys Klicius
c8c15a0899
Merge pull request #17910 from Napalys/napalys/matchAll-support
...
JS: Support for matchAll
2024-11-14 15:36:20 +01:00
Napalys
b333f523df
JS: Fix: now one can determine regex via Array.prototype.toSpliced function call.
2024-11-14 15:35:03 +01:00
Napalys
2b0def1ed3
JS: Add: Test case for checking if regex via using toSpliced
2024-11-14 15:31:38 +01:00
Napalys
52330e834c
JS: Add: Test case for checking if regex via using splice
2024-11-14 15:29:05 +01:00
Cornelius Riemenschneider
3fdd35cfdc
Merge pull request #17976 from github/criemen/rust-3rdparty
...
Rust: Vendor build files for 3rdparty dependencies.
2024-11-14 12:58:00 +01:00
Ian Lynagh
c2dfe0ef4a
Merge pull request #17978 from igfoo/igfoo/issafeaccess
...
KE2: Rename safeAccess to isSafeAccess
2024-11-14 11:28:23 +00:00
Owen Mansel-Chan
4ca6c80eb5
Merge pull request #17973 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2024-11-14 10:19:41 +00:00
Tamas Vajk
0fa3ba6b4d
Code quality improvements
2024-11-14 10:45:54 +01:00
Tamas Vajk
90579947cf
Move all classes to the Semmle.Extraction.CSharp namespace
2024-11-14 09:13:03 +01:00
Tamás Vajk
c3324ee2f4
Merge pull request #17974 from tamasvajk/ke2-code-quality-01
...
KE2: Improve code quality in expression extraction
2024-11-14 08:36:11 +01:00
Napalys Klicius
97de35c689
Merge pull request #17965 from Napalys/napalys/immutable-array-operations
...
JS: Added support for toSorted and toReversed
2024-11-14 06:59:38 +01:00
github-actions[bot]
788a88aaca
Add changed framework coverage reports
2024-11-14 00:20:18 +00:00
Napalys
84234d59b9
JS: Fix: Ensure toSpliced with spread operator is flagged
2024-11-13 17:21:34 +01:00
Napalys
8512cb44ff
JS: Add: Test cases for toSpliced with spread operator
2024-11-13 17:18:09 +01:00
Napalys
cf90430ec0
JS: Add: Missing test case for splice spread operator
2024-11-13 17:07:17 +01:00
Chris Smowton
efe20b2452
Merge pull request #17884 from smowton/ke2/properties-and-variables
...
KE2: implement basic usage of properties, variables and flexible types
2024-11-13 15:32:44 +00:00
Chris Smowton
f12818a96d
Apply review comments
2024-11-13 15:15:09 +00:00
Chris Smowton
fdaa6c5b4b
KE2: implement basic usage of properties, variables and flexible types
2024-11-13 15:06:59 +00:00
Napalys
2df3d1b251
JS: Fix: Ensure toSpliced is flagged by taint tracking in test suite ( ed44358143)
2024-11-13 15:58:20 +01:00
Tamas Vajk
a0cac46b46
Merge the two CachedEntityFactory classes
2024-11-13 15:53:49 +01:00
Napalys
ed44358143
Added toSpliced test cases for mutation arrays
2024-11-13 15:51:00 +01:00
Tamas Vajk
02bd204111
Move more classes to the Semmle.Extraction.CSharp namespace
2024-11-13 15:27:48 +01:00
Tamas Vajk
46da5960ee
Move extraction context classes to the Semmle.Extraction.CSharp namespace
2024-11-13 14:28:04 +01:00
Tamas Vajk
b7098b72a4
Move location-like entities to the Semmle.Extraction.CSharp namespace
2024-11-13 14:24:08 +01:00
Tom Hvitved
2bb5603b30
Merge pull request #17949 from paldepind/rust-async-blocks
...
Rust: Handle async blocks in CFG and SSA
2024-11-13 13:51:20 +01:00
Tamas Vajk
e7844e2855
C#: Remove Semmle.Extraction project and move content to Semmle.Extraction.CSharp
2024-11-13 13:47:40 +01:00
Napalys
df4b596180
Added toSpliced as part ArraySliceStep and ArraySpliceStep, fixed tests from 2d9bc43506
2024-11-13 13:47:34 +01:00
Ian Lynagh
22096b1984
KE2: Rename safeAccess to isSafeAccess
...
To follow our standard naming convention.
2024-11-13 12:32:36 +00:00
Cornelius Riemenschneider
a66f8209f9
Rust: Vendor 3rdparty dependencies.
...
We've been observing some performance issues using crate_universe on CI.
Therefore, we're moving to vendor the auto-generated BUILD files
in our repository. This should provide a nice speed boost, while
getting rid of the complexity of the "rust cache" job we've been using
when we had a lot of git dependencies.
This PR includes a vendor script, and I'll put up a CI job internally
that runs that vendor script on Cargo.toml and Cargo.lock changes, to check
that the vendored files are in sync.
2024-11-13 13:22:14 +01:00
Calum Grant
67684d1813
Merge pull request #17948 from github/revert-17694-multiple-entry-point
...
Revert "C++: Do not generate IR for functions with multiple entry points"
2024-11-13 12:11:02 +00:00
Napalys
2d9bc43506
Added tests for arrays toSpliced with pop
2024-11-13 12:58:24 +01:00
Napalys
b4c84d3d3c
Added taint step for toSpliced, handles test from a65f80ef76
2024-11-13 12:41:41 +01:00
Napalys
a65f80ef76
Added basic taint tracking test for Array.prototype.toSpliced()
2024-11-13 12:28:14 +01:00
Tamas Vajk
3ae58d072c
KE2: Improve code quality in expression extraction
2024-11-13 09:38:48 +01:00
Tamás Vajk
fcde605569
Merge pull request #17939 from tamasvajk/ke2-binary-op-compareTo
...
KE2: Extract `compareTo` calls for binary comparisons
2024-11-13 09:09:59 +01:00
Napalys Klicius
ef18a6e562
Remove toReversed and toSorted func prototypes from extern.js.
2024-11-13 08:29:18 +01:00
Tamas Vajk
70658bcd52
Fix review findings
2024-11-12 15:58:42 +01:00
Esben Sparre Andreasen
570260b4dc
Merge pull request #17963 from github/esbena/actions/artifact-v4
...
chore(actions): bump to artifacts@v4
2024-11-12 15:51:14 +01:00
Tamas Vajk
14150ea78d
KE2: Extract compareTo calls for binary comparisons
2024-11-12 15:49:44 +01:00
Tamás Vajk
15468bcd11
Merge pull request #17874 from tamasvajk/ke2-unary-ops
...
KE2: Extract unary operators
2024-11-12 15:48:47 +01:00
Taus
1ca2590146
Merge pull request #16764 from github/redsun82/python-match-fps
...
Python: tests with false positives around `match`
2024-11-12 15:43:32 +01:00
Esben Sparre Andreasen
a70438b72c
chore(action): ruby-dataset-measure w artifacts@v4
2024-11-12 13:58:02 +01:00
Arthur Baars
3b2262be3a
Update ruby-dataset-measure.yml
2024-11-12 12:52:09 +00:00
Esben Sparre Andreasen
2f50d25aaa
feat(actions/qhelp-preview): unique artifact names
2024-11-12 13:29:09 +01:00
Esben Sparre Andreasen
351daaac8b
feat(actions/MAD): matrix-unique artifact names
2024-11-12 13:29:01 +01:00
Esben Sparre Andreasen
b3fff05e7d
chore(actions): most workflows onto artifacts@v4
...
`ruby-dataset-measure.yml` is not updated yet as it requires aid from the language team.
We can presumably disable the workflow during the brownout periods, but a fix will have to be present before the full deprecation happens
2024-11-12 13:26:38 +01:00
Simon Friis Vindum
274d9421a7
Rust: Cache getEnclosingCfgScope
2024-11-12 13:15:20 +01:00
Anders Schack-Mulligen
d7fbf68a59
Merge pull request #17597 from aschackmull/java/chararraywriter-tostring
...
Java: Add model for CharArrayWriter.toString().
2024-11-12 12:55:44 +01:00
Calum Grant
1a688456f6
Merge pull request #17892 from github/calumgrant/telemetry
...
C++: Initial telemetry queries
2024-11-12 11:51:37 +00:00
Owen Mansel-Chan
44e865114a
Add change note
2024-11-12 11:37:07 +00:00
Owen Mansel-Chan
d31700cf92
Accept changes in models in .expected files
2024-11-12 11:34:29 +00:00
Tamas Vajk
320905925b
KE2: Extract unary operators
2024-11-12 12:32:51 +01:00
Tamás Vajk
a9e45d8609
Merge pull request #17761 from tamasvajk/ke2-binary-ops
...
KE2: extract binary operators
2024-11-12 12:30:39 +01:00
Owen Mansel-Chan
dfd8e7d397
Set subtypes column to True in models
...
This is almost always what we want.
2024-11-12 11:21:52 +00:00
Napalys
5f8ff125e9
Added change notes
2024-11-12 12:21:39 +01:00
Owen Mansel-Chan
349518b0d7
Merge pull request #17618 from owen-mc/go/mad/subtypes-promoted-methods
...
Go: Make the models-as-data subtypes column do something more sensible for promoted methods
2024-11-12 11:21:17 +00:00
Napalys
7427a24ca1
Added test case for Array.prototype.toReversed, which is currently not flagged as a taint sink.
2024-11-12 12:02:37 +01:00
Napalys
3215967cbc
Added toReserved test case
2024-11-12 12:02:20 +01:00
Napalys
3f0a54c2e8
Added support for Array.prototype.toSorted function
2024-11-12 12:02:04 +01:00
Napalys
def8d75cb8
Added test case for Array.prototype.toSorted, which is currently not flagged as a taint sink.
2024-11-12 12:01:51 +01:00
Ian Lynagh
83b3e8c7e5
Merge pull request #17961 from igfoo/igfoo/ke2_erasure
...
KE2: Remove erasure
2024-11-12 10:18:39 +00:00
Calum Grant
91b1cb8a76
C++: Some renaming
2024-11-12 09:49:10 +00:00
Simon Friis Vindum
7517ad3e4b
Merge pull request #17959 from paldepind/rust-inline-flow-test
...
Rust: Setup inline flow test library
2024-11-12 10:47:08 +01:00
Jeroen Ketema
77ae26fca7
Merge pull request #17960 from jketema/guarded-free
...
C++: Add tests for experimental `cpp/guarded-free` query
2024-11-12 10:43:39 +01:00
Jeroen Ketema
79a9e9c6c0
C++: Address review comments
2024-11-12 10:13:37 +01:00
Napalys Klicius
6266dab518
Merge pull request #17951 from Napalys/napalys/reverse-support
...
JS: Added support for reverse function
2024-11-12 10:09:18 +01:00
Simon Friis Vindum
d9d3027667
Rust: Make improvements to getArgString based on PR comments
2024-11-12 09:45:33 +01:00
Simon Friis Vindum
03292310b6
Merge branch 'main' into rust-async-blocks
2024-11-12 09:36:04 +01:00
Tamas Vajk
53460d7ca0
Add comment
2024-11-12 09:19:04 +01:00
Jeroen Ketema
a29b958f5f
C++: Address review comments
2024-11-12 09:08:36 +01:00
Tamás Vajk
ba26281b02
Merge pull request #17955 from tamasvajk/binlog/multiple
...
C#: Change extractor to accept multiple `binlog` files
2024-11-12 08:58:47 +01:00
Simon Friis Vindum
63d84edfae
Rust: Fix minor issues from PR feedback
2024-11-12 08:37:56 +01:00
Owen Mansel-Chan
fd4a6d4bb8
Change note
2024-11-11 23:55:57 +00:00
Owen Mansel-Chan
13fb92ad3e
Rename getIntermediateEmbeddedType
2024-11-11 23:53:14 +00:00
Owen Mansel-Chan
d3a6452860
Add missing QLDoc
2024-11-11 23:50:09 +00:00
Owen Mansel-Chan
6af5b55d51
Refactor elementAppliesToQualifier
...
This is needed for performance when there are lots of embeddings.
2024-11-11 23:50:08 +00:00
Owen Mansel-Chan
3986dffc91
Keep methods and fields separate in SourceOrSinkElement
...
This improves performance.
2024-11-11 23:50:06 +00:00
Owen Mansel-Chan
b6a31b1def
Restrict to Methods
2024-11-11 23:50:04 +00:00
Owen Mansel-Chan
57192e8154
Add even more tests
2024-11-11 23:49:58 +00:00
Owen Mansel-Chan
e813fa346b
Fix case in some test-related file names
2024-11-11 23:48:34 +00:00
Owen Mansel-Chan
8abb0594c3
Combine two arms of newtype TSourceOrSinkElement
2024-11-11 23:48:32 +00:00
Owen Mansel-Chan
b2c2a94866
Accept review comment - doc clarification
2024-11-11 23:48:30 +00:00
Owen Mansel-Chan
39afb18ee4
Fix bad join order
2024-11-11 23:48:29 +00:00
Owen Mansel-Chan
80e8015e67
Inline late and remove manual magic
2024-11-11 23:48:27 +00:00
Owen Mansel-Chan
c2aee37210
getSyntacticQualifier -> getSyntacticQualifierBaseType
...
This improves performance.
2024-11-11 23:48:25 +00:00
Owen Mansel-Chan
ede3b9f033
Improve join order by making a separate predicate
2024-11-11 23:48:23 +00:00
Owen Mansel-Chan
e335737f38
Minor fixes to docs
2024-11-11 23:48:21 +00:00
Owen Mansel-Chan
adc946ec2b
Revert simplification to make tests pass
2024-11-11 23:48:19 +00:00
Owen Mansel-Chan
4a1fce9168
Test non-promoted fields and methods
2024-11-11 23:46:10 +00:00
Chris Smowton
f61251cc24
Document elementAppliesToQualifier
2024-11-11 23:43:59 +00:00
Chris Smowton
7ffff43424
Improve comments
2024-11-11 23:43:57 +00:00
Chris Smowton
cd99bea9c1
Explain getSyntacticQual
2024-11-11 23:43:55 +00:00
Chris Smowton
ccc525abd3
Remove probably-unnecessary pragma
2024-11-11 23:43:53 +00:00
Chris Smowton
fd40662ad8
Rename getImplicitFieldReadInstruction
2024-11-11 23:43:51 +00:00
Chris Smowton
e290cecabd
Rename ensureCorrectTypeInfo and getSyntacticRecv
2024-11-11 23:43:49 +00:00
Chris Smowton
17a3429f1e
Correct hasTypeInfo doc comment
2024-11-11 23:43:47 +00:00
Chris Smowton
20e8d48869
Add comment noting that a Method or Field might have multiple SourceOrSinkElements
2024-11-11 23:43:45 +00:00
Chris Smowton
520acc4b1c
Further simplify interpretElement to avoid 'm' only being used on one side of a disjunction
2024-11-11 23:43:44 +00:00
Chris Smowton
d9126d384f
Simplify interpretElement
2024-11-11 23:43:42 +00:00
Chris Smowton
e90e313295
Simplify ensureCorrectTypeInfo
2024-11-11 23:43:40 +00:00
Owen Mansel-Chan
e46ec5a171
Fix MaD inheritance
2024-11-11 23:41:11 +00:00
Owen Mansel-Chan
91375d3a49
Update ExternalFlow.qll docs on subtypes column
2024-11-11 23:31:39 +00:00
Owen Mansel-Chan
a277bcbc3e
Merge pull request #17941 from owen-mc/go/fix/missing-method-qualified-names
...
Go: fix missing qualified names for some promoted methods
2024-11-11 22:50:17 +00:00
Ian Lynagh
cfb269eba9
KE2: Remove erasure
2024-11-11 17:49:23 +00:00
Ian Lynagh
0249c49ce5
Java: Add up/downgrade scripts
2024-11-11 17:48:35 +00:00
Ian Lynagh
66be970b2e
Java/Kotlin: Remove the erasure relation
...
It's no longer used
2024-11-11 17:48:30 +00:00
Ian Lynagh
b8b0fcad67
Kotlin: Don't write the erasure relation
...
It's no longer used
2024-11-11 17:48:24 +00:00
Ian Lynagh
4aed952c7d
Java: Remove redundant getErasure overrides
...
The root definition covers these cases already
2024-11-11 17:48:17 +00:00
Calum Grant
317f43d325
C++: Don't use PrintAST in a test
2024-11-11 17:16:47 +00:00
Calum Grant
2351328aa1
C++: Rename SourceFiles metric
2024-11-11 17:16:46 +00:00
Calum Grant
593dcb646b
C++: Remove missing includes test
2024-11-11 17:16:44 +00:00
Calum Grant
fb82d435b5
C++: Various renamings
2024-11-11 17:16:43 +00:00
Calum Grant
34ee947d2f
C++: Limit number of errors/includes to 50
2024-11-11 17:16:42 +00:00
Calum Grant
e6f3512056
C++: Remove unused class UndefinedIdentifier
2024-11-11 17:16:41 +00:00
Calum Grant
faeff396eb
C++: Limit metrics to top 500
2024-11-11 17:16:39 +00:00
Calum Grant
067ecdeea0
C++: Match more tags
2024-11-11 17:16:38 +00:00
Calum Grant
9a81ce8bb4
C++: Separate int and float metrics
2024-11-11 17:16:37 +00:00
Calum Grant
8d2cef632e
C++: Minor edits
2024-11-11 17:16:36 +00:00
Calum Grant
6c402adbcc
C++: Minor edits
2024-11-11 17:16:35 +00:00
Calum Grant
a53e1dec20
C++: Minor edits
2024-11-11 17:16:34 +00:00
Calum Grant
f6776a4249
C++: Initial telemetry queries and tests
2024-11-11 17:16:32 +00:00
Jeroen Ketema
a5a6445b2e
C++: Add tests for experimental cpp/guarded-free query
2024-11-11 17:29:28 +01:00
Simon Friis Vindum
cd2038a8f8
Rust: Setup inline flow test library
2024-11-11 16:41:59 +01:00
Cornelius Riemenschneider
fed240a2b2
Merge pull request #17956 from github/criemen/rust-upd-deps
...
Rust: Update cargo dependencies.
2024-11-11 16:06:09 +01:00
Napalys
00790bf3f4
Added change notes
2024-11-11 15:43:54 +01:00
Napalys Klicius
1eabb6cbdd
Update javascript/ql/test/experimental/Security/CWE-918/check-regex.js
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2024-11-11 15:40:22 +01:00
Napalys Klicius
42f7f73ae1
Update ArrayInPlaceManipulationTaintStep documentation
2024-11-11 15:38:57 +01:00
Michael Nebel
425b1b17d1
Merge pull request #17952 from michaelnebel/java/movemodels
...
Java: Move non-experimental models out of the experimental folder.
2024-11-11 15:28:53 +01:00
Tamas Vajk
46f168823c
Improve code quality
2024-11-11 14:10:13 +01:00
Calum Grant
2f032ec7b8
C++: Revert 17694 and keep tests
2024-11-11 13:06:50 +00:00
Paolo Tranquilli
5ef92a281b
Rust: fix integration test on windows
2024-11-11 13:37:25 +01:00
Paolo Tranquilli
34361b81eb
Rust: reorganize options integration tests
2024-11-11 13:11:10 +01:00
Tamas Vajk
fe62900a15
C#: Change extractor to accept multiple binlog files
2024-11-11 12:56:24 +01:00
Michael B. Gale
d6ef8c3f9a
Merge pull request #17946 from github/dependabot/go_modules/go/extractor/extractor-dependencies-c113e28156
...
Bump golang.org/x/tools from 0.26.0 to 0.27.0 in /go/extractor in the extractor-dependencies group
2024-11-11 11:31:21 +00:00
Cornelius Riemenschneider
e8aa5db07a
Rust: Update cargo dependencies.
...
There was a recent round of tree-sitter-* package releases,
so the latest code is now a) released and b) available on crates.io.
Therefore, move away from the (super slow on CI) git dependencies to released crates instead.
This also includes a run of `cargo update`, so there's a bunch of more changes to the lockfile.
2024-11-11 12:13:14 +01:00
Simon Friis Vindum
ad6bd88f0a
Merge pull request #17954 from paldepind/rust-data-flow-fix-inconsistencies
...
Rust: Fix data flow fix inconsistencies
2024-11-11 11:56:10 +01:00
Chris Smowton
89a2f0dc00
Merge pull request #17890 from smowton/smowton/fix/kotlin-use-nulltype
...
Kotlin extractor: use special <nulltype> for null literals
2024-11-11 10:54:21 +00:00
Simon Friis Vindum
aebce746df
Rust: Create data flow nodes for parameters in the CFG
...
Before data flow nodes where created for all parameters in the AST. But
some AST parameters does not lead to any data flow (for instance
parameters in function pointer types).
2024-11-11 11:46:10 +01:00
Simon Friis Vindum
6a3d417836
Rust: Implement enclosing callable for additional classes
2024-11-11 11:11:29 +01:00
Napalys
ae57c12b15
Added change notes
2024-11-11 10:38:14 +01:00
Michael Nebel
404ca27aec
Java: Move non-experimental models out of the experimental folder.
2024-11-11 10:08:45 +01:00
Paolo Tranquilli
07c59f7562
Rust: fix integration tests
2024-11-11 09:55:46 +01:00
Simon Friis Vindum
bf07aa1cbd
Merge pull request #17947 from paldepind/rust-ssa-node-printing
...
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 09:55:26 +01:00
Paolo Tranquilli
0298743f2a
Merge branch 'main' into redsun82/rust-cargo-options
2024-11-11 09:47:59 +01:00
Simon Friis Vindum
9f0fba16cd
Rust: Fix grammar and add documentation comments
2024-11-11 09:46:47 +01:00
Simon Friis Vindum
db1b698689
Rust: Accept fixed spurious results
2024-11-11 08:59:34 +01:00
Simon Friis Vindum
54172774d5
Merge branch 'main' into rust-async-blocks
2024-11-11 08:50:51 +01:00
Simon Friis Vindum
55796badaf
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 08:48:48 +01:00
Simon Friis Vindum
e3662fa97f
Merge pull request #17923 from geoffw0/unreachable4
...
Rust: More tests for rust/deadcode
2024-11-11 08:45:47 +01:00
Napalys
81bc7cd19f
Refactored SortTaintStep to ArrayInPlaceManipulationTaintStep to support both sort and reverse functions. Fixed newly added test case. from 8026a99db7
2024-11-11 08:32:03 +01:00
Napalys
1c298f0231
Added test case for Array.prototype.reverse, which is currently not flagged as a potential sink.
2024-11-11 08:32:02 +01:00
Napalys
f1c6dc1d9b
Moved SortTaintStep to more appropriate home TaintTracking->Arrays
2024-11-11 08:32:01 +01:00
dependabot[bot]
916184964b
Bump golang.org/x/tools
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/tools` from 0.26.0 to 0.27.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.26.0...v0.27.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-11 03:24:36 +00:00
Simon Friis Vindum
a5e13ee71b
Rust: Handle async blocks in SSA analysis
2024-11-10 11:59:37 +01:00
Simon Friis Vindum
74a6d9812d
Rust: Add SSA test for async blocks
2024-11-10 11:33:03 +01:00
Simon Friis Vindum
8e6844e4da
Merge branch 'main' into rust-async-blocks
2024-11-10 09:28:14 +01:00
Owen Mansel-Chan
0b24235de4
Update test results
2024-11-09 07:56:44 +00:00
Owen Mansel-Chan
9afdee4697
Accept changed test results and improve test
2024-11-09 07:55:02 +00:00
Florin Coada
f3c7352727
Merge pull request #17935 from github/changedocs/2.19.3
...
Changedocs for 2.19.3
2024-11-08 17:58:54 +00:00
Geoffrey White
727a7d4957
Merge branch 'main' into unreachable4
2024-11-08 17:39:15 +00:00
Paolo Tranquilli
98b7d50e8a
Rust: avoid test name with *
2024-11-08 18:20:09 +01:00
Paolo Tranquilli
d9d37dc341
Merge branch 'main' into redsun82/rust-cargo-options
2024-11-08 18:17:54 +01:00
Paolo Tranquilli
5490975a27
Merge pull request #17943 from github/redsun82/rust-accept-inconsistencies
...
Rust: accept some inconsitencies for now
2024-11-08 18:17:30 +01:00
Paolo Tranquilli
9684df8535
Rust: accept some inconsitencies for now
...
The modified result is just a change due to a semantic conflict after introducing some
`toString` implementations.
The new inconsistency should be looked at more in detail.
2024-11-08 18:05:19 +01:00
Paolo Tranquilli
94ba6473dd
Merge branch 'main' into redsun82/rust-cargo-options
2024-11-08 17:54:59 +01:00
Paolo Tranquilli
f77f2b7ff0
Rust: turn off the test cfg by default
2024-11-08 17:07:03 +01:00
Paolo Tranquilli
a13c70bd11
Rust: add integration test for cargo options
2024-11-08 16:50:21 +01:00
Owen Mansel-Chan
c8f41206be
Add a change note
2024-11-08 14:23:55 +00:00
Geoffrey White
c7112ef278
Rust: Accept consistency check changes.
2024-11-08 14:22:04 +00:00
Simon Friis Vindum
d52a2d67a2
Rust: Create CFG scope for async blocks
2024-11-08 15:00:02 +01:00
Owen Mansel-Chan
38ee2d418a
Fix bug by extracting more pointer types
2024-11-08 13:57:36 +00:00
Owen Mansel-Chan
5094cb851b
Add test showing bug (SEmbedP.PMethod not showing)
2024-11-08 13:57:34 +00:00
Simon Friis Vindum
e05b126215
Rust: Add CFG tests for async/await and const
2024-11-08 14:50:07 +01:00
Tamas Vajk
db13b32285
Extract comparison operators
2024-11-08 13:53:59 +01:00
Tamas Vajk
a5fcfaf289
Add todo comment with missing binary operators
2024-11-08 13:53:58 +01:00
Tamas Vajk
227d30243c
Extract reference equals
2024-11-08 13:53:58 +01:00
Tamas Vajk
bc35c509f0
Extract more numeric binary operators
2024-11-08 13:53:57 +01:00
Tamas Vajk
255d5c9942
KE2: Extract binary operators on numeric types
2024-11-08 13:53:57 +01:00
Tamás Vajk
212143ff45
Merge pull request #17881 from tamasvajk/ke2-safe-qualified-expr
...
KE2: Extract safe qualified expressions
2024-11-08 13:53:21 +01:00
Anders Schack-Mulligen
a311294080
Merge pull request #17932 from aschackmull/java/kotlin-notnull-typeflow
...
Kotlin: Support NotNullExpr in TypeFlow.
2024-11-08 13:48:15 +01:00
Michael B. Gale
71e4646489
Merge pull request #17934 from github/dependabot/go_modules/go/extractor/extractor-dependencies-ede2484c43
...
Bump golang.org/x/mod from 0.21.0 to 0.22.0 in /go/extractor in the extractor-dependencies group
2024-11-08 12:43:38 +00:00
Paolo Tranquilli
9cea631399
Merge pull request #17931 from github/redsun82/rust-target-dir
...
Rust: allow to specify the target directory
2024-11-08 13:34:03 +01:00
Paolo Tranquilli
26839f5e15
Merge pull request #17882 from github/redsun82/rust-resolve
...
Rust: extract some resolved paths
2024-11-08 13:33:41 +01:00
Paolo Tranquilli
b9ea78fb32
Rust: fix vector options
2024-11-08 13:06:22 +01:00
Geoffrey White
3805d0f958
Merge branch 'main' into unreachable4
2024-11-08 11:46:34 +00:00
Geoffrey White
0610c265e2
Merge pull request #17913 from geoffw0/unusedvar8
...
Rust: Fix rust/unused-variable FPs
2024-11-08 11:41:45 +00:00
Paolo Tranquilli
be45e3deed
Rust: allow to specify more cargo configuration options
...
This allows to tweak via extractor options some aspects of the cargo
configuration:
* the target architecture
* features (including `*` for all, which we must understand whether to
set by default)
* cfg overrides
Integration tests will be added in a follow-up commit.
2024-11-08 12:23:16 +01:00
Geoffrey White
7c2c5ee1fa
Rust: Fix expected consistency results.
2024-11-08 11:22:35 +00:00
Geoffrey White
fc444f1f9a
Merge branch 'main' into unusedvar8
2024-11-08 11:20:12 +00:00
Florin Coada
bee51091d6
Changedocs for 2.19.3
2024-11-08 10:43:42 +00:00
Erik Krogh Kristensen
9b6c96730d
Merge pull request #17912 from mbarbero/patch-1
...
fix: add "actions" tag to ActionsArtifactLeak
2024-11-08 10:50:43 +01:00
Simon Friis Vindum
f2569c45a9
Merge pull request #17921 from paldepind/rust-df-enclosing-callable
...
Rust: Implement enclosing callable
2024-11-08 10:36:59 +01:00
Paolo Tranquilli
083394073a
Rust: rename target_dir to cargo_target_dir, add to extraction options
...
Also removed the now unused `extract_dependencies` one.
2024-11-08 09:53:50 +01:00
Napalys
70cf1a57bc
Now catches usage of RegExp. after matchAll usage.
2024-11-08 08:59:31 +01:00
Napalys
c2baf0bd6d
Added test where RegExp. is used after matchAll but it not flagged as potential issue
2024-11-08 08:56:12 +01:00
dependabot[bot]
ccb92357a2
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.21.0 to 0.22.0
- [Commits](https://github.com/golang/mod/compare/v0.21.0...v0.22.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-08 04:00:30 +00:00
Calum Grant
39b2d2c3d8
Merge pull request #17906 from github/calumgrant/bmn/wrong-number-format-args
...
C++: Fix FPs in cpp/wrong-number-format-arguments
2024-11-07 15:05:39 +00:00
Anders Schack-Mulligen
5602570e18
Kotlin: Support NotNullExpr in TypeFlow.
2024-11-07 15:25:23 +01:00
Simon Friis Vindum
22835c28ff
Rust: Make a return node the last node before function exit
2024-11-07 15:21:11 +01:00
Tamás Vajk
71931c38f2
Merge pull request #17885 from smowton/smowton/ke2-jar-sources
...
KE2: add source jars to intellij project
2024-11-07 15:04:39 +01:00
Tom Hvitved
a35a4b2d98
Merge pull request #17887 from hvitved/dataflow/provenance-order
...
Data flow: Order provenance output by textual representation
2024-11-07 14:19:18 +01:00
Napalys
dbd57e3870
Fixed issue where TaintTracking was not catching matchAll vulnerability
2024-11-07 13:40:10 +01:00
Napalys
a4fe728af2
Added matchAll test which is not marked as vulnurability by CodeQL
2024-11-07 13:35:09 +01:00
Simon Friis Vindum
1a000ecb46
Rust: Make minor data flow changes based on PR feedback
2024-11-07 13:04:54 +01:00
Napalys
514375dbf9
Fixes false positives from commit 42600c93ff
2024-11-07 13:00:54 +01:00
Paolo Tranquilli
4f6fda0100
Rust: allow to specify the target directory
2024-11-07 12:45:20 +01:00
Napalys
42600c93ff
Added tests which shows false positive SSRF via matchAll
2024-11-07 11:40:20 +01:00
Michael Nebel
fc8d8bbbb1
Merge pull request #17742 from michaelnebel/csharp/higherordermodels
...
C#: Models for higher order methods.
2024-11-07 11:12:46 +01:00
Paolo Tranquilli
3488b9fbca
Merge pull request #17920 from github/redsun82/rust-files
...
Rust: exclude uncompiled files from semantics and surface semantic-less reason
2024-11-07 11:04:12 +01:00
Geoffrey White
df7bcfd116
Rust: Accept dataflow consistency check changes.
2024-11-07 09:54:39 +00:00
Tom Hvitved
26b048a645
Address review comment
2024-11-07 10:40:03 +01:00
Napalys
449cee91c8
Fixes false positives from commit 445552d3b53ec9592e8e3892cb337d1004b6a432
2024-11-07 10:33:13 +01:00
Napalys
4106663d89
Added tests for regex sanitization to identify false positives matchAll
2024-11-07 10:27:58 +01:00
Paolo Tranquilli
147d66b587
Merge branch 'main' into redsun82/python-match-fps
2024-11-07 09:46:32 +01:00
Paolo Tranquilli
64d522e447
Rust: address review
2024-11-07 09:39:44 +01:00
Michael Nebel
8041f00bf5
C#: Address more review comments.
2024-11-07 09:24:26 +01:00
Jami
07bb60da92
Merge pull request #17925 from jcogs33/jcogs33/vscode-setting-matchOnWordStartOnly-false
...
VSCode setting: turn off `editor.suggest.matchOnWordStartOnly`
2024-11-06 18:05:26 -05:00
Jami Cogswell
8e4a312ac7
Turn off editor.suggest.matchOnWordStartOnly
2024-11-06 16:41:20 -05:00
Geoffrey White
b3f7a8a46f
Merge pull request #17908 from geoffw0/dfcons
...
Rust: Expose counts of data flow inconsistencies
2024-11-06 19:11:04 +00:00
Geoffrey White
18ce8be302
Update rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2024-11-06 19:00:10 +00:00
Geoffrey White
fbfdd57383
Rust: Additional test cases for rust/dead-code.
2024-11-06 17:43:04 +00:00
Geoffrey White
a8b1cb3243
Rust: Make it so that all of the test functions may return.
2024-11-06 17:23:01 +00:00
Paolo Tranquilli
200715773f
Rust: fix no_semantics_reason
2024-11-06 17:19:06 +01:00
Michael Nebel
e9c9519d90
C#: Address review comments.
2024-11-06 16:29:20 +01:00
Michael Nebel
55cfbccd43
C#/Java: Exclude summaries using callbacks in fields, properties and synthetic fields.
2024-11-06 16:29:19 +01:00
Michael Nebel
5c389355d0
C#: Simplify delegate read and store steps (remove dependency on parameter).
2024-11-06 16:29:17 +01:00
Michael Nebel
a86cd181a6
Java: Make language specific modifications.
2024-11-06 16:29:16 +01:00
Michael Nebel
395cababb3
C#: Add some model generator examples for higher order methods.
2024-11-06 16:29:14 +01:00
Michael Nebel
fe854812ec
C#: Add read and store steps for delegate calls.
2024-11-06 16:29:13 +01:00
Simon Friis Vindum
dadc6059a8
Rust: Implement enclosing callable
2024-11-06 16:23:24 +01:00
Paolo Tranquilli
2987743e44
Rust: exclude uncompiled files from semantics and surface semanticless reason
2024-11-06 15:22:28 +01:00
Geoffrey White
bf0e1008ce
Rust: Move some test cases together.
2024-11-06 13:14:52 +00:00
Simon Friis Vindum
ff80b249ca
Merge pull request #17917 from paldepind/rust-df-types
...
Rust: Fix unique type data flow inconsistency
2024-11-06 14:02:00 +01:00
Simon Friis Vindum
60986d8c9b
Rust: Fix unique type data flow inconsistency
2024-11-06 13:48:10 +01:00
Anders Schack-Mulligen
4df4a1e6c6
Merge pull request #17863 from aschackmull/shared/universal-flow
...
Shared: Add a Universal Flow library and refactor TypeFlow to use it.
2024-11-06 13:46:13 +01:00
Tom Hvitved
f8058e40af
Merge pull request #17915 from hvitved/rust/pat-literal-cfg
...
Rust: Include literals in the CFG for literal patterns
2024-11-06 13:09:49 +01:00
Geoffrey White
8a35e151d1
Rust: Move the function pointer parameter exclusion into VariableImpl.qll.
2024-11-06 10:51:41 +00:00
Tom Hvitved
9392bf796a
Rust: Include literals in the CFG for literal patterns
2024-11-06 09:21:52 +01:00
Simon Friis Vindum
6054855edb
Merge pull request #17888 from paldepind/rust-data-flow-consistency
...
Rust: Data flow additions
2024-11-05 21:29:18 +01:00
Geoffrey White
1a5d2e1f5d
Rust: Correct a comment and autoformat.
2024-11-05 15:22:46 +00:00
Geoffrey White
93836a55e2
Rust: Clean up code / clarify responsibilities and fix the issue in rust/unused-value as well.
2024-11-05 15:16:59 +00:00
Geoffrey White
bb5ee525fc
Merge pull request #17757 from geoffw0/unusedvar7
...
Rust: Remove the workaround in rust/unused-variable.
2024-11-05 15:06:48 +00:00
Mikaël Barbero
881fe0ba57
fix: add "actions" tag to ActionsArtifactLeak
...
Similar to javascript/ql/src/Security/CWE-094/ExpressionInjection.ql
2024-11-05 15:58:46 +01:00
Geoffrey White
278760c735
Rust: Add another exception to rust/unused-variable.
2024-11-05 14:46:32 +00:00
Simon Friis Vindum
262a9f0cfa
Rust: Make fixes in data flow based on PR feedback
2024-11-05 15:37:44 +01:00
Geoffrey White
35ffd0cc9c
Rust: Add more test cases for unused variables (inspired by real world FPs).
2024-11-05 14:07:10 +00:00
Geoffrey White
3091083705
Rust: Call all the test cases.
2024-11-05 11:02:38 +00:00
Geoffrey White
088dd50f1f
Rust: Update tests.
2024-11-05 10:30:41 +00:00
Napalys Klicius
5e8b1b061f
Update javascript/ql/src/Security/CWE-020/MissingRegExpAnchor.ql
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2024-11-05 10:29:22 +01:00
Napalys Klicius
7825a46085
Merge branch 'github:main' into napalys/matchAll-support
2024-11-05 09:31:30 +01:00
Napalys
b239bfabf1
Added tests forIncompleteHostnameRegExp and normalizedPaths using matchAll
2024-11-05 09:22:26 +01:00
Napalys
ccee34d6d3
Added support for matchAll in CWE-020 including new test cases
2024-11-05 08:51:24 +01:00
Geoffrey White
c8c747a110
Rust: Add total data flow inconsistencies to rust/summary/summary-statistics.
2024-11-04 19:10:44 +00:00
Geoffrey White
30cc55005d
Rust: Add rust/diagnostics/data-flow-consistency-counts query for data flow inconsistency counts.
2024-11-04 19:09:30 +00:00
Simon Friis Vindum
c7b4e7c30a
Rust: Small improvements to data flow
...
The predicate `ssaDefAssigns` was definitely broken before
2024-11-04 20:01:58 +01:00
Simon Friis Vindum
d9636b37b6
Rust: Add data flow test with assignment to mutable variable
2024-11-04 20:00:36 +01:00
Geoffrey White
91ebc0eb45
Rust: Add metadata to the DataFlowConsistency.ql query.
2024-11-04 18:53:34 +00:00
Geoffrey White
a645a9e829
Rust: Add getInconsistencyCounts predicate to the shared DataFlowImplConsistency.qll, so it's possibly to access inconsistency data as a whole.
2024-11-04 18:52:20 +00:00
Chuan-kai Lin
3cdf94e83a
Merge pull request #17904 from github/post-release-prep/codeql-cli-2.19.3
...
Post-release preparation for codeql-cli-2.19.3
2024-11-04 10:14:12 -08:00
Calum Grant
397bf7c5e2
C++: Fix FPs caused by a syntax error
2024-11-04 17:38:16 +00:00
Calum Grant
496efeed7e
C++: Add a test for cpp/wrong-number-format-arguments
2024-11-04 17:36:23 +00:00
github-actions[bot]
f107d16b4e
Post-release preparation for codeql-cli-2.19.3
2024-11-04 17:20:08 +00:00
Chuan-kai Lin
39a67b6e2e
Merge pull request #17903 from github/release-prep/2.19.3
...
Release preparation for version 2.19.3
2024-11-04 08:42:12 -08:00
github-actions[bot]
cc7b724123
Release preparation for version 2.19.3
2024-11-04 16:37:28 +00:00
Simon Friis Vindum
8d59b9289b
Rust: Make improvements to data flow based on PR feedback
2024-11-04 16:42:05 +01:00
Geoffrey White
5a34c166b7
Rust: Remove the workaround in rust/unused-variable.
2024-11-04 15:31:43 +00:00
Simon Friis Vindum
2818893010
Rust: Refactor AstCfgNode to use a field
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2024-11-04 15:01:25 +01:00
Florin Coada
7418d8ed24
Merge pull request #17832 from github/changedocs/2.19.2
...
CodeQL 2.19.2 changedocs
2024-11-04 13:56:28 +00:00
Tom Hvitved
0aee809697
Merge pull request #17899 from hvitved/accept-changes-multi-jobs
...
Handle matrix jobs in accept changes script
2024-11-04 14:54:21 +01:00
Rasmus Wriedt Larsen
5f20f1984c
expected-changes: Use set constructor
2024-11-04 14:14:15 +01:00
Rasmus Wriedt Larsen
8f80c24270
Merge pull request #17256 from RasmusWL/js-threat-models
...
JS: Add support for threat models
2024-11-04 14:04:12 +01:00
Simon Friis Vindum
34e8ea17d8
Merge pull request #17898 from paldepind/rust-cfg-refactor
...
Rust: CFG classes are in expression module iff they correspond to exp…
2024-11-04 13:01:15 +01:00
Tom Hvitved
95e9d013cc
Update expected test output
2024-11-04 12:07:06 +01:00
Tom Hvitved
a89c82bf74
Handle matrix jobs in accept changes script
2024-11-04 11:49:35 +01:00
Simon Friis Vindum
6b25bea2e5
Rust: Accept consistency results
2024-11-04 11:28:26 +01:00
Simon Friis Vindum
a3c7d5a469
Merge branch 'main' into rust-data-flow-consistency
2024-11-04 11:10:48 +01:00
Simon Friis Vindum
fb26f7861f
Merge pull request #17895 from paldepind/rust-data-flow-consistency-query
...
Rust: Add data flow consistency queries
2024-11-04 11:07:46 +01:00
Simon Friis Vindum
714e2fc2c1
Merge branch 'main' into rust-data-flow-consistency-query
2024-11-04 10:42:53 +01:00
Simon Friis Vindum
2ae721bd54
Merge pull request #17897 from github/redsun82/rust-fix-compilation
...
Rust: fix semantic merge conflict about semantics
2024-11-04 10:35:47 +01:00
Simon Friis Vindum
633bac633c
Rust: CFG classes are in expression module iff they correspond to expressions
2024-11-04 10:34:08 +01:00
Simon Friis Vindum
7f344fab78
Rust: Add data flow consistency queries
2024-11-04 10:17:50 +01:00
Paolo Tranquilli
6848a22c65
Rust: fix semantic merge conflict about semantics
2024-11-04 10:04:40 +01:00
Paolo Tranquilli
bde517fcb1
Merge pull request #17849 from github/aibaars/single-semantics
...
Rust: try to speed things up a bit
2024-11-04 09:24:26 +01:00
Tom Hvitved
8b8b721788
Data flow: Order provenance output by textual representation
2024-11-04 08:47:30 +01:00
Simon Friis Vindum
82076ee0b8
Rust: Propagate data flow through a few expression types
2024-11-03 16:12:59 +01:00
Simon Friis Vindum
2bab29d31b
Rust: Add local data flow step tests
2024-11-03 16:12:58 +01:00
Simon Friis Vindum
01141ccdc9
Rust: Integrate SSA into data flow
2024-11-03 16:12:56 +01:00
Tom Hvitved
662a824312
Merge pull request #17865 from hvitved/rust/unused-macro-expansion
2024-11-03 09:17:14 +01:00
Chris Smowton
81ff394533
Be explicit about Kotlin database type
2024-11-01 19:02:28 +00:00
Chris Smowton
5d3f723df9
Kotlin extractor: use special <nulltype> for null literals
...
This matches the Java extractor's treatment of these literals, and so enables dataflow type-tracking to avoid special-casing Kotlin. Natively, Kotlin would regard this as kotlin.Nothing?, the type that can only contain null (kotlin.Nothing without a ? can take nothing at all), which gets Java-ified as java.lang.Void, and this will continue to be used when a null type has to be "boxed", as in representing substituted generic constraints with no possible type.
2024-11-01 16:14:10 +00:00
Tom Hvitved
c4adec3010
Address review comment
2024-11-01 15:28:17 +01:00
yoff
cec0544ca5
Merge pull request #17789 from aschackmull/python/resolvecall-refactor
...
Python: Refactor references to NormalCall.
2024-11-01 14:20:34 +01:00
Anders Schack-Mulligen
bae61875cd
UniversalFlow: Fixup some qldoc.
2024-11-01 14:04:27 +01:00
Taus
0bb5b4b9dc
Merge pull request #17875 from github/tausbn/python-improve-parser-logging-and-timing
...
Python: Improve parser logging/timing/customisability
2024-11-01 12:47:46 +01:00
Taus
2892f0ff48
Merge pull request #17873 from github/tausbn/python-fix-generator-expression-locations
...
Python: Even more parser fixes
2024-11-01 12:47:19 +01:00
Simon Friis Vindum
a36095d85b
Rust: Add local data flow test with if expression
2024-11-01 11:28:10 +01:00
Rasmus Wriedt Larsen
c0ad9ba529
Merge branch 'main' into js-threat-models
2024-11-01 10:48:32 +01:00
Rasmus Wriedt Larsen
dc8e645594
JS: Convert remaining queries to use ActiveThreatModelSourceAsSource
2024-11-01 10:47:10 +01:00
Tom Hvitved
03ffaac87a
Merge pull request #17880 from hvitved/ruby/symbol-string-key-indifference
...
Ruby: Do not distinguish between symbols and strings in hash keys
2024-11-01 10:43:56 +01:00
Rasmus Wriedt Larsen
19fae76a94
JS: Remove dummy comment
...
Co-authored-by: Asger F <asgerf@github.com >
2024-11-01 10:24:22 +01:00
Chris Smowton
33a0e99347
KE2: add source jars to intellij project
2024-10-31 17:58:23 +00:00
Paolo Tranquilli
03aef50836
Merge pull request #17883 from github/redsun82/rust-analysis
...
Rust: use common config for analysis
2024-10-31 17:46:15 +01:00
Paolo Tranquilli
c6585b726a
Rust: use common config for analysis
...
Now that the nightly bundle has the default query set, we don't need a special
inline config.
2024-10-31 16:44:07 +01:00
Jeroen Ketema
03ced1795a
Merge pull request #17694 from jketema/multiple-entry-point
...
C++: Do not generate IR for functions with multiple entry points
2024-10-31 16:16:03 +01:00
Paolo Tranquilli
e5a199b821
Rust: accept test changes due to toString implementations
2024-10-31 16:02:56 +01:00
Rasmus Wriedt Larsen
61e60de969
JS: Model readline as a stdin threat-model source
...
Technically not always true, but my assumption is that +90% of the time
that's what it will be used for, so while we could be more precise by
adding a taint-step from the `input` part of the construction, I'm not
sure it's worth it in this case.
Furthermore, doing so would break with the current way we model
threat-model sources, and how sources are generally modeled in JS... so
for a very pretty setup it would require changing all the other `file`
threat-model sources to start at the constructors such as
`fs.createReadStream()` and have taint-propagation steps towards the
actual use (like we do in Python)...
I couldn't see an easy path forwards for doing this while keeping the
Concepts integration, so I opted for the simpler solution here.
2024-10-31 14:29:30 +01:00
Rasmus Wriedt Larsen
eca8bf5a35
JS: Do simple modeling of process.stdin as threat-model source
2024-10-31 14:26:45 +01:00
Paolo Tranquilli
cee2ed0ec4
Rust: extract some resolved paths
2024-10-31 14:19:15 +01:00
Rasmus Wriedt Larsen
34b86c39c1
JS: Model fs.promises.readFile as file source
...
You could argue that proper modeling be done in the same way as
`NodeJSFileSystemAccessRead` is done for the callback based `fs` API (in
NodeJSLib.qll). However, that work is straying from the core goals I'm
working towards right now, so I'll argue that "perfect is the enemy of
good", and leave this as is for now.
2024-10-31 14:09:38 +01:00
Rasmus Wriedt Larsen
971f53870e
JS: Include fs externs
...
Makes a difference due to the modeling of NodeJSFileSystemAccessRead depending on these, see
412e841d69/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll (L479-L488)
File copied from 7cef4322e7/javascript/externs/nodejs/fs.js
2024-10-31 13:51:22 +01:00
Tamas Vajk
84166e8731
KE2: Extract safe qualified expressions
2024-10-31 13:14:07 +01:00
Rasmus Wriedt Larsen
b47fa77dc6
JS: Add tests for stdin threat-model sources
2024-10-31 12:59:21 +01:00
Tom Hvitved
d0f9a0b9ce
Rust: Add another unused-value test
2024-10-31 11:43:33 +01:00
Tom Hvitved
55a6ed7e8a
Rust: Include link to variable in unused value query
2024-10-31 11:42:44 +01:00
Tom Hvitved
2b340b18dd
Rust: Exclude results inside macro expansions from unused entity queries
2024-10-31 11:42:43 +01:00
Tom Hvitved
fec31a6da4
Rust: Include variable name in Unused{Variable,Value}.ql
2024-10-31 11:42:41 +01:00
Tom Hvitved
6b60865d7e
Ruby: Do not distinguish between symbols and strings in hash keys
2024-10-31 11:42:09 +01:00
Tom Hvitved
2b37c6cd32
Merge pull request #17548 from hvitved/shared/inline-test-post-process
...
Shared: Post-processing query for inline test expectations
2024-10-31 11:40:11 +01:00
Chris Smowton
26d40a7e42
Merge pull request #17878 from smowton/smowton/ke2/debugger-support
...
KE2: Enable attaching debugger to extractor
2024-10-31 10:22:52 +00:00
Tom Hvitved
f04a55ecb5
Ruby: Update hash extension tests
2024-10-31 11:00:33 +01:00
Jeroen Ketema
5e3748ac12
C++: Update expected test results
2024-10-31 10:57:12 +01:00
Jeroen Ketema
1a830cdf14
C++: Do not generate IR for functions with multiple entry points in different locations
2024-10-31 10:55:52 +01:00
Jeroen Ketema
8cfd19cf2f
C++: Add multiple entry point test
2024-10-31 10:55:48 +01:00
Tom Hvitved
977eb05f31
Merge pull request #17879 from paldepind/rust-speculative-taint
...
Rust: Add predicate for speculative taint step
2024-10-31 10:17:48 +01:00
Simon Friis Vindum
00b8a29da7
Rust: Add predicate for speculative taint step
2024-10-31 09:09:39 +01:00
Tamás Vajk
f57fe719c1
Merge pull request #17802 from tamasvajk/ke2-method-call
...
KE2: Extract simple method calls
2024-10-31 08:53:38 +01:00
Tamas Vajk
11975a1b25
Remove todo comment
2024-10-31 08:28:42 +01:00
Simon Friis Vindum
b96698aee3
Merge pull request #17871 from paldepind/rust-data-flow-skeleton
...
Rust: Add basic skeleton setup for data flow
2024-10-31 08:26:11 +01:00
Tom Hvitved
c936468b17
Merge pull request #17739 from hvitved/dataflow/big-step-quadratic
2024-10-31 08:16:16 +01:00
Anders Schack-Mulligen
b556590ef8
Merge pull request #17663 from aschackmull/dataflow/speculative-flow
...
Dataflow: Add support for speculative taint flow.
2024-10-31 08:12:43 +01:00
Paolo Tranquilli
7e8a09aea1
Merge pull request #17825 from github/redsun82/rust-canonical-path
...
Rust: add `extended_canonical_path` and `crate_origin` to `Item`
2024-10-30 18:13:05 +01:00
Simon Friis Vindum
efa59fd2b6
Rust: Make changes based on PR feedback
2024-10-30 16:01:26 +01:00
Anders Schack-Mulligen
570b042645
Dataflow: Rename SpeculativeFlow to SpeculativeGlobal.
2024-10-30 15:23:15 +01:00
Anders Schack-Mulligen
9b493c1e1b
Java: Fix bug related to null inference for pattern initializer.
2024-10-30 15:05:36 +01:00
Taus
2ef3ae9860
Python: Improve parser logging/timing/customisability
...
Does a bunch of things, unfortunately all in the same place, so my
apologies in advance for a slightly complicated commit.
As for the changes themselves, this commit
- Adds timers for the old and new parsers. This means we get the overall
time spent on these parts of the extractor if the extractor is run with
`DEBUG` output shown.
- Adds logging information (at the `DEBUG` level) to show which
invocations of the parsers happen when, and whether they succeed or not.
- Adds support for using an environment variable named
`CODEQL_PYTHON_DISABLE_OLD_PARSER` to disable using the old parser
entirely. This makes it easier to test the new parser in isolation.
- Fixes a bug where we did not check whether a parse with the new parser
had already succeeded, and so would do a superfluous second parse.
2024-10-30 13:58:46 +00:00
Anders Schack-Mulligen
b005973317
UniversalFlow: Skip property propagation to null nodes.
2024-10-30 14:08:38 +01:00
Taus
f75615b913
Merge pull request #17822 from github/tausbn/python-more-parser-fixes
...
Python: A few more parser fixes
2024-10-30 13:47:10 +01:00
Arthur Baars
0e511d640b
Rust: avoid panics
...
If:
* the text for a file_id is not found (likely non-utf data in file)
* path does not appear in Vfs, in which case we fall back on loading the file from disk with no "semantics" available
2024-10-30 13:18:36 +01:00
Simon Friis Vindum
44bebedae6
Rust: Add basic skeleton setup for data flow
2024-10-30 13:16:26 +01:00
Tom Hvitved
495c92df38
Shared: Also take query ID into account in PathProblemSourceTestInput
2024-10-30 10:54:40 +01:00
Chris Smowton
2b678c97ab
Merge pull request #17870 from charmander/patch-1
...
Fix typo and grammar in InsecureCookie.qhelp
2024-10-30 09:48:20 +00:00
Chris Smowton
5f31adc1f4
Update InsecureCookie.qhelp
...
Gratuitous commit to nudge CI
2024-10-30 09:34:49 +00:00
Tom Hvitved
ff9811b488
C#: Add tests for the inline test post-processor
2024-10-30 10:09:40 +01:00
Charmander
a97998811a
Fix typo and grammar in InsecureCookie.qhelp
2024-10-30 07:29:20 +00:00
Paolo Tranquilli
4c73c6284e
Merge pull request #17867 from github/dbartol/actions-build
...
Add the Actions extractor to the build
2024-10-30 05:48:41 +01:00
Chris Smowton
3e4345e0aa
Enable attaching debugger to ke2 extractor
2024-10-29 22:14:26 +00:00
Dave Bartolomeo
b07642b585
Fix linting
2024-10-29 17:09:47 -04:00
Dave Bartolomeo
902a8bd847
Add Actions extractor to build
2024-10-29 16:54:37 -04:00
Dave Bartolomeo
3c9e19346c
Update test expectations
2024-10-29 16:53:36 -04:00
Tom Hvitved
cc94c42f87
Address review comments
2024-10-29 20:36:16 +01:00
Ian Lynagh
b00bbc9ca2
Merge pull request #17731 from igfoo/igfoo/removeErasure
...
Java/Kotlin: Remove the erasure dbscheme relation
2024-10-29 14:21:57 +00:00
Rasmus Wriedt Larsen
2b6c27eb60
JS: Add initial file threat-model support
...
However, as indicated by the `MISSING` annotations, we could do better.
2024-10-29 15:14:39 +01:00
Rasmus Wriedt Larsen
3656864695
JS: Add database threat-model source modeling
2024-10-29 15:11:09 +01:00
Tom Hvitved
baeffa2345
Update rust/ql/test/query-tests/unusedentities/unreachable.rs
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-10-29 15:00:09 +01:00
Anders Schack-Mulligen
8b5756526c
Update python/ql/test/experimental/library-tests/CallGraph/InlineCallGraphTest.ql
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-29 13:57:27 +01:00
Tom Hvitved
dd520fea47
Rust: Post-processing query for inline test expectations
2024-10-29 13:37:04 +01:00
Tom Hvitved
1259b7e8e7
JS: Post-processing query for inline test expectations
2024-10-29 13:35:38 +01:00
Tom Hvitved
e5f2bbb6ec
Python: Post-processing query for inline test expectations
2024-10-29 13:35:37 +01:00
Tom Hvitved
4750b0de94
C++: Post-processing query for inline test expectations
2024-10-29 13:35:36 +01:00
Tom Hvitved
540b433f5a
Go: Post-processing query for inline test expectations
2024-10-29 13:35:35 +01:00
Tom Hvitved
4561770db4
Swift: Post-processing query for inline test expectations
2024-10-29 13:35:34 +01:00
Tom Hvitved
5b5ca05e87
Ruby: Post-processing query for inline test expectations
2024-10-29 13:35:33 +01:00
Tom Hvitved
e2b614d18a
Java: Post-processing query for inline test expectations
2024-10-29 13:35:32 +01:00
Tom Hvitved
8ba80fd022
C#: Post-processing query for inline test expectations
2024-10-29 13:35:31 +01:00
Tom Hvitved
e7a3e6bfed
Shared: Post-processing query for inline test expectations
2024-10-29 13:35:29 +01:00
Tom Hvitved
b111194fbc
Shared: Simplify PrettyPrintModels.ql
2024-10-29 13:35:28 +01:00
Tom Hvitved
c5d699cb6b
Merge pull request #17857 from geoffw0/unreachable3
...
Rust: Fix rust/dead-code
2024-10-29 13:35:10 +01:00
Tamas Vajk
9dd37b0ede
Fix typo
2024-10-29 13:26:37 +01:00
Asger F
879cb7c365
Merge pull request #17864 from asgerf/js/vue-attribute-syntax
...
JS: Fix parsing of special Vue attributes
2024-10-29 13:23:47 +01:00
Ian Lynagh
251a8a34ed
Java: Add up/downgrade scripts
2024-10-29 11:32:22 +00:00
Geoffrey White
6a110368a5
Rust: Rename predicates.
2024-10-29 11:32:22 +00:00
Ian Lynagh
6be2e98796
Java/Kotlin: Remove the erasure relation
...
It's no longer used
2024-10-29 11:32:20 +00:00
Ian Lynagh
8ab52dba83
Kotlin: Don't write the erasure relation
...
It's no longer used
2024-10-29 11:32:18 +00:00
Ian Lynagh
6c9739023d
Java: Remove redundant getErasure overrides
...
The root definition covers these cases already
2024-10-29 11:32:16 +00:00
Tamas Vajk
c10a0e549a
Handle named arguments in method call extraction
2024-10-29 12:12:16 +01:00
Rasmus Wriedt Larsen
7c7420a9a4
JS: Add change-note
2024-10-29 11:35:56 +01:00
Rasmus Wriedt Larsen
07bc1feb11
Docs: Threat-models supported in JS
...
Capturing
- 7d3793e718
- e35c2b243a
- e11bfc27bd
2024-10-29 11:33:02 +01:00
Rasmus Wriedt Larsen
84f6b89ced
JS: Minor improvements to threat-model Concepts
...
Mirroring what was done for Python
2024-10-29 11:29:48 +01:00
Asger F
6aef571c17
JS: Bump extractor version string
2024-10-29 11:28:06 +01:00
Asger F
3cc6b11e6b
JS: Expand attribute regex to include some Vue attributes
2024-10-29 11:19:01 +01:00
Asger F
560b3da851
JS: Add test with some special Vue attributes
2024-10-29 11:18:17 +01:00
Tom Hvitved
7ddc8f087d
Merge pull request #17786 from paldepind/rust-saa-additions
...
Rust: SSA additions
2024-10-29 09:51:38 +01:00
Tom Hvitved
813ccb9c06
Merge pull request #17855 from hvitved/csharp/comments-mapped-locations
...
C#: Take mapped locations into account in `Comments.qll`
2024-10-29 08:58:38 +01:00
Anders Schack-Mulligen
1d3bad1358
UniversalFlow: More renaming.
2024-10-29 08:53:18 +01:00
Erik Krogh Kristensen
733158f8f2
Merge pull request #17860 from erik-krogh/fix-windows
...
fix the RAM setting on Windows
2024-10-29 08:34:09 +01:00
erik-krogh
2ee88f6774
fix the RAM setting on Windows
2024-10-28 20:39:34 +01:00
Arthur Baars
c87f2c4eb1
Rust: remove unnecessary field
2024-10-28 18:56:20 +01:00
Paolo Tranquilli
2b386c422c
Merge pull request #17839 from github/redsun82/rust-analysis
...
Rust: add codeql analysis workflow
2024-10-28 18:14:32 +01:00
Dave Bartolomeo
d4db759057
Merge pull request #17858 from github/dbartol/actions-placeholder
2024-10-28 11:57:20 -04:00
Dave Bartolomeo
609a6c38e4
Revert "Fix bash nit"
...
This reverts commit 3228447544 .
2024-10-28 11:39:22 -04:00
Dave Bartolomeo
a70ce25144
Merge pull request #17850 from github/dbartol/actions-placeholder
...
Implement Actions extractor and placeholder Actions QL packs
2024-10-28 11:34:00 -04:00
Anders Schack-Mulligen
7d98d391b7
UniversalFlow: Rename FlowScc.
2024-10-28 16:28:28 +01:00
Anders Schack-Mulligen
d41b86a87d
UniversalFlow: Tweak visibility and add qldoc.
2024-10-28 16:27:27 +01:00
Anders Schack-Mulligen
6680537e93
UniversalFlow: Minor tweak to isNull and autoformat.
2024-10-28 16:25:30 +01:00
Anders Schack-Mulligen
d6e420bd0e
UniversalFlow: Rename node type.
2024-10-28 16:23:44 +01:00
Anders Schack-Mulligen
1aecdb44dc
UniversalFlow: Move Universal Flow library to its own file.
2024-10-28 16:20:16 +01:00
Taus
5d6600e61f
Python: Fix generator expression locations
...
Our logic for detecting the first and last item in a generator
expression was faulty, sometimes matching comments as well. Because
attributes (like `_location_start`) can only be written once, this
caused `tree-sitter-graph` to get unhappy.
To fix this, we now require the first item to be an `expression`, and
the last one to be either a `for_in_clause` or an `if_clause`.
Crucially, `comment` is neither of these, and this prevents the
unfortunate overlap.
2024-10-28 14:53:09 +00:00
Taus
ef60b730ea
Python: Fix parenthesized tuple parser bug
...
We were writing the `parenthesised` attribute twice on tuples, once
because of the explicit parenthetisation, and once because all non-empty
tuples are parenthesised. This made `tree-sitter-graph` unhappy.
To fix this, we now explicitly check whether a tuple is already
parenthesised, and do nothing if that is the case.
2024-10-28 14:49:45 +00:00
Anders Schack-Mulligen
ea458c09a0
TypeFlow: Extract a universal flow library abstraction from TypeFlow.
2024-10-28 15:48:29 +01:00
Taus
b4ecc7937d
Python: Fix some more async parsing problems
...
Turns out we were not setting the `is_async` field on anything except
`async for` statements. This commit makes it so that we also do this for
`async def` and `async with`, and adds a test that this produces the
same behaviour as the old parser.
2024-10-28 14:44:02 +00:00
Taus
e710c0a6bf
Python: Regenerate parser files
2024-10-28 14:44:01 +00:00
Taus
ac87868097
Python: Fix parsing of await inside expressions
...
Found when parsing `Lib/test/test_coroutines.py` using the new parser.
For whatever reason, having `await` be an `expression` (with an argument
of the same kind) resulted in a bad parse. Consulting the official
grammar, we see that `await` should actually be a `primary_expression`
instead. This is also more in line with the other unary operators, whose
precedence is shared by the `await` syntax.
2024-10-28 14:44:01 +00:00
Taus
1e51703ce9
Python: Allow escaped quotes/backslashes in raw strings
...
Quoting the Python documentation (last paragraph of
https://docs.python.org/3/reference/lexical_analysis.html#escape-sequences ):
"Even in a raw literal, quotes can be escaped with a backslash, but the
backslash remains in the result; for example, r"\"" is a valid string
literal consisting of two characters: a backslash and a double quote;
r"\" is not a valid string literal (even a raw string cannot end in an
odd number of backslashes)."
We did not handle this correctly in the scanner, as we only consumed the
backslash but not the following single or double quote, resulting in
that character getting interpreted as the end of the string.
To fix this, we do a second lookahead after consuming the backslash, and
if the next character is the end character for the string, we advance
the lexer across it as well.
Similarly, backslashes in raw strings can escape other backslashes.
Thus, for a string like '\\' we must consume the second backslash,
otherwise we'll interpret it as escaping the end quote.
2024-10-28 14:40:24 +00:00
Geoffrey White
eb79bcbc34
Rust: Remove unnecessary line.
2024-10-28 14:36:45 +00:00
Geoffrey White
bf5a0b7bd0
Rust: Rewrite UnreachableCode.ql to be more robust.
2024-10-28 14:36:42 +00:00
Geoffrey White
41df9ae4fc
Merge pull request #17854 from geoffw0/cleanuptest
...
Rust: Clean up unreachable test
2024-10-28 14:29:42 +00:00
Paolo Tranquilli
f5d14dbe07
Merge pull request #17856 from github/redsun82/rust-defaultSuiteFile
...
Rust: add `defaultSuiteFile`
2024-10-28 15:27:51 +01:00
Simon Friis Vindum
8f8564ddfd
Rust: Address PR comments
2024-10-28 15:15:38 +01:00
Anders Schack-Mulligen
fba4d09e65
TypeFlow: Simplify interface.
2024-10-28 15:09:09 +01:00
Anders Schack-Mulligen
3939eff260
TypeFlow: Rename step to uniqStep.
2024-10-28 15:00:05 +01:00
Dave Bartolomeo
3228447544
Fix bash nit
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswl@github.com >
2024-10-28 09:58:11 -04:00
Paolo Tranquilli
5420e52afa
Rust: add defaultSuiteFile
2024-10-28 14:56:09 +01:00
Tom Hvitved
cfa1ed38b4
Merge pull request #17844 from hvitved/rust/location-impl
...
Rust: Cache `Locatable.getLocation` and `Location`
2024-10-28 14:41:36 +01:00
Paolo Tranquilli
5a84d290e6
Rust: ignore test directory
2024-10-28 14:32:53 +01:00
Tom Hvitved
7910af159c
C#: Take mapped locations into account in Comments.qll
2024-10-28 14:21:10 +01:00
Paolo Tranquilli
dd4fe2a32b
Rust: change analysis config
2024-10-28 14:21:07 +01:00
Tom Hvitved
c93e4385f2
C#: Add a test for a comment with a mapped location
2024-10-28 14:20:24 +01:00
Arthur Baars
2326861b23
Merge pull request #17805 from github/aibaars/local-defs
...
Rust: Rust: add jump to definition for format arguments
2024-10-28 14:17:40 +01:00
Cornelius Riemenschneider
1972532f1c
Merge pull request #17732 from github/criemen/bazel-8
...
Bazel: Upgrade to 8.0.0rc1
2024-10-28 14:03:20 +01:00
Michael Nebel
058fcc1a51
Merge pull request #17853 from michaelnebel/csharp/madtests
...
C#: Re-factor test for CWE-611/UntrustedDataInsecureXml.ql to pretty print models.
2024-10-28 13:38:26 +01:00
Tom Hvitved
711dfc3592
Rust: Cache Locatable.getLocation and Location
2024-10-28 13:33:49 +01:00
Arthur Baars
b6c26debef
Rust: create single Semantics object for each workspace
2024-10-28 13:29:04 +01:00
Arthur Baars
57cdda3405
Rust: no longer reload files into the RootDatabase
...
Files were reloaded to handle cases were there was no content
for a file_id, causing a panic. Missing contents was caused by
files that did not contain valid UTF-8 data. These are skipped
by rust-analyzer when it is loading data into the RootDatabase.
2024-10-28 13:29:03 +01:00
Paolo Tranquilli
9c95a17882
Rust: add block ids to canonical paths, making them "extended"
2024-10-28 12:41:05 +01:00
Simon Friis Vindum
cab916453d
Rust: Update unused value expected test result
2024-10-28 12:18:00 +01:00
Simon Friis Vindum
b86a5810b3
Rust: Small refactor based on PR feedback
2024-10-28 11:45:46 +01:00
Simon Friis Vindum
c5b01eb629
Merge branch 'main' into rust-saa-additions
2024-10-28 11:42:32 +01:00
Geoffrey White
e5818f6f2e
Rust: Fix unused value cases in the unreachable test (they're not interesting, just distract from the point of these tests.
2024-10-28 10:29:31 +00:00
Arthur Baars
fdf99e2f50
Rust: filter out definitions that are inside expanded macros
2024-10-28 11:27:59 +01:00
Geoffrey White
72606d5a59
Rust: Add missing annotations to unreachable test.
2024-10-28 10:22:46 +00:00
Arthur Baars
c4126e4410
Rust: add tests for Definitions.qll
2024-10-28 11:17:48 +01:00
Rasmus Wriedt Larsen
e3c400b0c8
Add auto labeler support for 'Actions'
2024-10-28 10:46:05 +01:00
Rasmus Wriedt Larsen
01fa95f98a
Actions: autoformat
2024-10-28 10:43:46 +01:00
Michael Nebel
b112a9b31e
Merge pull request #17851 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2024-10-28 10:38:27 +01:00
Michael Nebel
82ff545424
C#: Re-factor test for CWE-611/UntrustedDataInsecureXml.ql to pretty print models in test case.
2024-10-28 10:36:32 +01:00
Óscar San José
3e77629477
Merge pull request #17838 from github/oscarsj/deprecate-macos-12
...
Remove macos-12 and its variants, deprecated
2024-10-28 10:32:49 +01:00
Paolo Tranquilli
2fa1c5ebcd
Merge branch 'main' into redsun82/rust-analysis
2024-10-28 10:30:08 +01:00
Arthur Baars
40ef9ad805
Rust: make TDef cached
2024-10-28 10:21:43 +01:00
github-actions[bot]
0e5ba2b23e
Add changed framework coverage reports
2024-10-28 00:21:56 +00:00
Dave Bartolomeo
8840f91503
Fix formatting
2024-10-25 20:32:01 -04:00
Dave Bartolomeo
4a567344f5
Fix style alerts
2024-10-25 17:59:49 -04:00
Dave Bartolomeo
dffc9e2e31
Create placeholder Actions QL packs
2024-10-25 17:45:05 -04:00
Dave Bartolomeo
47a7d24a1a
Implement Actions extractor
2024-10-25 17:44:46 -04:00
Jeroen Ketema
655fa53cdd
Merge pull request #17848 from jketema/wrong-format
...
C++: Add wrong format type builtin function test
2024-10-25 19:11:22 +02:00
Chris Smowton
fa4cc83753
Merge pull request #17837 from smowton/smowton/admin/trim-java-web-jsp-test
...
Java: Trim JSP test
2024-10-25 17:23:51 +01:00
Paolo Tranquilli
652e47177f
Rust: format
2024-10-25 17:44:16 +02:00
Simon Friis Vindum
7db90fe073
Merge pull request #17847 from paldepind/rust-unused-variable-trait
...
Rust: Don't consider parameters in trait method definitions without bodies as variables
2024-10-25 17:41:04 +02:00
Paolo Tranquilli
719b5e175f
Rust: add missing expected files
2024-10-25 17:06:54 +02:00
Paolo Tranquilli
8f6196d5f1
Rust: accept test changes
2024-10-25 16:58:05 +02:00
Paolo Tranquilli
9789059e9f
Rust: add more thourough canonical path testing
2024-10-25 16:58:05 +02:00
Paolo Tranquilli
34b1055c13
Rust: accept test changes
2024-10-25 16:58:04 +02:00
Paolo Tranquilli
194e0daa8c
Rust: add canonical_path and crate_origin to Item
2024-10-25 16:58:04 +02:00
yoff
7338eafbd4
Merge pull request #16812 from porcupineyhairs/pyloadSsl
...
Python: Pycurl SSL Disabled
2024-10-25 16:23:25 +02:00
Simon Friis Vindum
bfa6113366
Rust: Fix grammar in comment
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2024-10-25 16:23:04 +02:00
Jeroen Ketema
ccc2a39abc
C++: Add wrong format type builtin function test
2024-10-25 16:16:13 +02:00
Simon Friis Vindum
f7a45e6650
Rust: Don't consider parameters in trait method definitions without bodies as variables
2024-10-25 15:56:58 +02:00
Paolo Tranquilli
ab1b48d687
Merge pull request #17843 from github/redsun82/reduce-log-noise
...
Rust: reduce log spam and skip debug diagnostics in the DB
2024-10-25 15:33:29 +02:00
Simon Friis Vindum
a5ce3c1570
Rust: Move trait tests for unused entities into main.rs
2024-10-25 15:15:49 +02:00
Rasmus Wriedt Larsen
1726287bf4
JS: Add e2e threat-model test
2024-10-25 15:03:44 +02:00
Rasmus Wriedt Larsen
d3ae4c930e
JS: Model newer yargs command-line parsing pattern
2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
3448751b4c
JS: Consolidate command-line argument modeling
...
Such that we can reuse the existing modeling, but have it globally
applied as a threat-model as well.
I Basically just moved the modeling. One important aspect is that this
changes is that the previously query-specific `argsParseStep` is now a
globally applied taint-step. This seems reasonable, if someone applied
the argument parsing to any user-controlled string, it seems correct to
propagate that taint for _any_ query.
2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
412e841d69
JS: Add environment threat-model source
2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
f733ac19a9
JS: Make (most) queries use ActiveThreatModelSource
...
7 cases looks something like this:
```
class RemoteFlowSourceAsSource extends Source instanceof RemoteFlowSource {
RemoteFlowSourceAsSource() { not this instanceof ClientSideRemoteFlowSource }
}
```
(some have variations like `not this.(ClientSideRemoteFlowSource).getKind().isPathOrUrl()`)
javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/CommandInjectionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/CorsMisconfigurationForCredentialsCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/RegExpInjectionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/RequestForgeryCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/ResourceExhaustionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll
2024-10-25 15:03:42 +02:00
Rasmus Wriedt Larsen
4b1c027359
JS: Integrate RemoteFlowSource with ThreatModelSource
2024-10-25 14:52:49 +02:00
Rasmus Wriedt Larsen
dbfbd2c00a
JS: Remove 'response' from default threat-models
...
I didn't want to put the configuration file in
`semmle/javascript/frameworks/**/*.model.yml`, so created `ext/` as in other
languages
2024-10-25 14:52:49 +02:00
Rasmus Wriedt Larsen
05dce8a0be
JS: Add test showing default active threat-models
2024-10-25 14:50:59 +02:00
Rasmus Wriedt Larsen
17a6d54e4d
JS: Setup basic support for threat-models
...
Integration with RemoteFlowSource is not straightforward, so postponing
that for later
Naming in other languages:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)
However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and instead I came up with new names.
2024-10-25 14:50:59 +02:00
Tom Hvitved
c5da712d10
Merge pull request #17840 from hvitved/shared/inline-test-space
...
Shared: Add missing spaces in inline test expectation output
2024-10-25 14:23:55 +02:00
Paolo Tranquilli
a760b89895
Rust: small tweaks
2024-10-25 14:13:27 +02:00
Paolo Tranquilli
5230b7b041
Rust: reduce log spam and skip debug diagnostics in the DB
2024-10-25 13:47:13 +02:00
Tom Hvitved
7c4d5981dd
Shared: Add missing spaces in inline test expectation output
2024-10-25 13:23:03 +02:00
Arthur Baars
f092594a52
Rust: add location definitions for format arguments
2024-10-25 12:57:08 +02:00
Arthur Baars
997a622496
Rust: also implement localReferences.ql
2024-10-25 12:57:06 +02:00
Paolo Tranquilli
45e9c2ff4d
Merge pull request #17841 from github/redsun82/rust-fix-qltest-macos
...
Rust: fix qltest on macOS, and add CI cross-platform testing of it
2024-10-25 12:56:23 +02:00
Tom Hvitved
ba600b0791
Merge pull request #17829 from hvitved/rust/cfg-stage
...
Rust: Collapse cached CFG logic into one stage
2024-10-25 12:45:38 +02:00
Arthur Baars
9dc5e2fa36
Merge pull request #17791 from github/aibaars/rust-format-templates
...
Rust: parse formatting templates
2024-10-25 12:42:35 +02:00
Paolo Tranquilli
4485193f57
Rust: skip output redirection QL test on windows for now
2024-10-25 12:33:47 +02:00
Óscar San José
8f7ed21f5d
Update macOS version in workflow file
2024-10-25 12:21:27 +02:00
Arthur Baars
8d4bb97b1a
Rust: make VariableAccess non-abstract
2024-10-25 12:21:23 +02:00
Óscar San José
c2a644b740
Update macOS version in build workflow
2024-10-25 12:20:25 +02:00
Paolo Tranquilli
4e8b6dc038
Rust: fix qltest on macOS, and add CI cross-platform testing of it
2024-10-25 12:19:46 +02:00
Michael Nebel
0b538313fb
Merge pull request #17666 from michaelnebel/csharp/net8models
...
C#: Update .NET 8 models.
2024-10-25 11:24:27 +02:00
Arthur Baars
a08b4b7372
Rust: allow VariableAccess elements to have another primary QL class
2024-10-25 11:02:55 +02:00
Arthur Baars
a6e69eb147
Revert "Rust: avoid classes with multiple getAPrimaryQLClass result"
...
This reverts commit 110d2ea775 .
2024-10-25 10:59:31 +02:00
Simon Friis Vindum
334602a50a
Rust: Handle calls that might read/write variables through closures
...
This implementation is copied and adapted from the Ruby SSA
implementation.
2024-10-25 10:50:32 +02:00
Simon Friis Vindum
75103f4b26
Merge branch 'main' into rust-saa-additions
2024-10-25 10:43:59 +02:00
Paolo Tranquilli
af3be84005
Rust: add codeql analysis workflow
2024-10-25 10:05:28 +02:00
Óscar San José
a467923e9b
Remove macos-12 and its variants, deprecated
2024-10-24 18:57:58 +02:00
Paolo Tranquilli
55d092fd3e
Merge pull request #17835 from github/redsun82/rust-qltest
...
Rust: move `qltest` to rust code, add `options` with cargo check
2024-10-24 18:29:17 +02:00
Paolo Tranquilli
41d0085918
Rust: address review
2024-10-24 17:54:18 +02:00
Paolo Tranquilli
c79f8180f3
Rust: move down options in query-tests
2024-10-24 17:14:48 +02:00
Arthur Baars
bd19661b60
Address comments
2024-10-24 16:40:19 +02:00
Chris Smowton
4e879e64fc
Trim JSP test
...
This was only ever testing that Java files relating to the JSPs in question appear in the database, so there's no need for a particularly wide selection.
2024-10-24 14:19:16 +01:00
Arthur Baars
a7628e7f4e
Rust: revert unnecessary changes to VariableImpl.qll
2024-10-24 15:19:01 +02:00
Arthur Baars
2d07270c1e
Rust: stop sharing Diagnostics.qll with Ruby :-(
2024-10-24 15:14:13 +02:00
Arthur Baars
bad9262f12
Rust: create locations for Format and FormatArgument
2024-10-24 15:14:11 +02:00
Arthur Baars
017d492348
Rust: implement synthesized Locations
2024-10-24 15:14:10 +02:00
Arthur Baars
110d2ea775
Rust: avoid classes with multiple getAPrimaryQLClass result
2024-10-24 15:14:09 +02:00
Arthur Baars
ca469f6d5c
Rust: introduce PathExprBase class
2024-10-24 15:14:07 +02:00
Arthur Baars
2b65e78674
Rust: fix bad join order
2024-10-24 15:13:27 +02:00
Arthur Baars
a3b903f13a
Rust: simplify synth constructors
2024-10-24 15:13:25 +02:00
Arthur Baars
8843a7c389
Rust: rename {Implicit,FormatTemplate}VariableAccess
2024-10-24 15:13:24 +02:00
Arthur Baars
fc4ac9bcf8
Rust: implement Format and FormatArgument classes
2024-10-24 15:13:23 +02:00
Arthur Baars
58dfe6c667
Rust: run codegen
2024-10-24 15:13:22 +02:00
Arthur Baars
8d2236b6d6
Rust: define Format and FormatArgument in schema
2024-10-24 15:13:21 +02:00
Arthur Baars
d4b2dc3711
Apply suggestion
2024-10-24 15:13:20 +02:00
Arthur Baars
be41ca5d4e
Rust: update expected output
2024-10-24 15:13:19 +02:00
Arthur Baars
11396ef7cb
Rust: avoid multiple PrimaryQLClass warnings
...
Fixes things like:
```
multiplePrimaryQlClasses
| x | PathExpr,VariableAccess |
```
2024-10-24 15:13:17 +02:00
Arthur Baars
e1c315b288
Rust: make ImplicitVariableAccess instance of VariableAccess
2024-10-24 15:13:14 +02:00
Arthur Baars
1b7b24ecb8
Rust: add Locatable::hasLocationInfo
2024-10-24 15:11:02 +02:00
Arthur Baars
f213a2d640
Rust: CFG for ImplicitVariableAccess
2024-10-24 15:11:01 +02:00
Arthur Baars
8a5fa9b72f
Rust: add ImplicitVariableAccess class
2024-10-24 15:11:00 +02:00
Arthur Baars
8f2c7c1239
Rust: parse formatting templates
2024-10-24 15:10:59 +02:00
Tom Hvitved
09c3ac6f81
Rust: Collapse cached CFG logic into one stage
2024-10-24 14:58:19 +02:00
Tom Hvitved
e920a4c56c
Merge pull request #17828 from hvitved/rust/enclosing-callable
...
Rust: Introduce `AstNode.getEnclosingCallable`
2024-10-24 14:57:12 +02:00
Cornelius Riemenschneider
f900060e7f
Bazel: Upgrade to bazel 8.
2024-10-24 13:30:57 +02:00
Paolo Tranquilli
3f8d438851
Rust: move qltest to rust code, add options with cargo check
2024-10-24 12:55:23 +02:00
Erik Krogh Kristensen
7bbd4a10b9
Merge pull request #17831 from erik-krogh/skip-more-types
...
JS: have getId always return null if skipExtractingTypes is set
2024-10-24 12:34:22 +02:00
Owen Mansel-Chan
e16f35478b
Merge pull request #17833 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2024-10-24 11:19:01 +01:00
yoff
c78aeec2ec
Update python/ql/lib/semmle/python/frameworks/Pycurl.qll
2024-10-24 11:44:16 +02:00
Calum Grant
a8f1d57573
Merge pull request #17775 from github/calumgrant/bmn/wrong-type-format-arguments-test
...
C++: Reduce FPs in cpp/wrong-type-format-argument due to extraction errors
2024-10-24 08:40:46 +01:00
github-actions[bot]
1e26db64fb
Add changed framework coverage reports
2024-10-24 00:20:48 +00:00
Florin Coada
6838d9414b
CodeQL 2.19.2 changedocs
2024-10-23 16:02:22 +01:00
erik-krogh
073d6d8c14
have getId always return null if skipExtractingTypes is set
2024-10-23 16:50:23 +02:00
Taus
5db601af3c
Python: Allow comments in comprehensions
...
A somewhat complicated solution that necessitated adding a new custom
function to `tsg-python`. See the comments in `python.tsg` for why this
was necessary.
2024-10-23 14:24:47 +00:00
Jeroen Ketema
226756e1d4
Merge pull request #17826 from MathiasVP/missing-flow-with-aliasing-fields
...
C++: Add test with missing flow
2024-10-23 15:49:42 +02:00
Calum Grant
421413a654
C++: Update change notes
2024-10-23 14:46:00 +01:00
Michael Nebel
779ee25a19
Merge pull request #17824 from michaelnebel/java/maptoobj
...
Java: Add manual models for `mapToObj`.
2024-10-23 15:40:28 +02:00
Calum Grant
f37be68067
C++: Handle builtin FormattingFunctions better
2024-10-23 14:35:32 +01:00
Tom Hvitved
a3d8b8eb14
Rust: Run codegen
2024-10-23 15:31:08 +02:00
Tom Hvitved
df19281b9f
Rust: Introduce AstNode.getEnclosingCallable
2024-10-23 15:31:07 +02:00
Michael Nebel
c1b1c62616
C#: Address review comments.
2024-10-23 15:25:52 +02:00
Tom Hvitved
086e0c61fc
Merge pull request #17817 from hvitved/rust/cfg-scope-callable
...
Rust: Use `Callable` to define `CfgScope`
2024-10-23 15:24:13 +02:00
Taus
24ae54886f
Merge pull request #17809 from github/tausbn/python-fix-kwargs-in-class-bases
...
Python: Fix bug in handling of `**kwargs` in class bases
2024-10-23 15:04:54 +02:00
Mathias Vorreiter Pedersen
7c5f561724
C++: Accept test changes.
2024-10-23 13:37:06 +01:00
Taus
e1e35689ca
Merge pull request #17807 from github/tausbn/python-fix-string-encoding-dataset-check-failure
...
Python: Fix string encoding dataset check failure
2024-10-23 14:26:45 +02:00
Mathias Vorreiter Pedersen
2fd07f28f0
C++: Add test with missing flow.
2024-10-23 13:00:33 +01:00
Michael Nebel
146c88fabb
C#: Update test expected output where the results are not affected.
2024-10-23 13:08:21 +02:00
Michael Nebel
5495a211f2
C#: Update exception information exposure expected output.
2024-10-23 13:08:19 +02:00
Michael Nebel
cad9aa21d8
C#: Update flow summaries test expected output.
2024-10-23 13:08:18 +02:00
Michael Nebel
b7b6feed04
C#: Re-generate .NET 8 Runtime models.
2024-10-23 13:08:17 +02:00
Michael Nebel
9cd9ebfda9
C#: Add manual models for StringWriter.
2024-10-23 13:08:15 +02:00
Michael Nebel
87caf3d826
C#: Add change note.
2024-10-23 13:08:14 +02:00
Michael Nebel
d3a359b498
C#: Update .NET 8 models.
2024-10-23 13:08:13 +02:00
Michael Nebel
00ccd20452
C#: Delete all .NET 8 Runtime models.
2024-10-23 13:08:11 +02:00
Michael Nebel
20b5a7b6f0
C#: Update expected test output.
2024-10-23 13:08:10 +02:00
Michael Nebel
062a2ad97d
C#: Include exception property accesses in the exception information exposure query.
2024-10-23 13:08:08 +02:00
Tom Hvitved
7a2105b1d5
Go: Update expected test output
2024-10-23 10:41:13 +02:00
Tom Hvitved
2e7b71c28d
Data flow: Prevent quadratic blowup in Stage6Param::localStep
2024-10-23 10:41:12 +02:00
Michael Nebel
caa08046b6
Java: Update expected test output.
2024-10-23 09:29:29 +02:00
Michael Nebel
3d70f91b9f
Java: Add manual models for various mapToObj methods.
2024-10-23 09:29:15 +02:00
Michael Nebel
197642c914
Merge pull request #17547 from michaelnebel/java/jdk17update
...
Java: Update Java JDK 17 models.
2024-10-23 09:07:02 +02:00
Henning Makholm
665354ebd2
Merge pull request #17823 from github/hmakholm/pr/graph-equivalence-test
...
Supplement 'query-type: graph' with actual query metadata
2024-10-22 21:08:15 +02:00
Henning Makholm
3d8d340f2a
Supplement 'query-type: graph' with actual query metadata
...
A number of CPP library tests contain `// query-type: graph`
annotations that make the test driver compare the output
from the test query in a special mode. (This feature is
not used by other languages).
It's somewhat awkward in the implementation of `codeql test run`
that this annotation is not an ordinary item of query metadata --
essentially it means that _every_ test query has to be opened
and read an extra time to look for this annotation. I'd like
to move towards using ordinary query metadata for this, since
the QL compiler already parses it anyway.
For the time being, give the annotation in both old and new
syntaxes, until a CLI that recognizes both has been released.
2024-10-22 20:38:00 +02:00
Taus
4f60494019
Python: Support assignments of the form [x,y,z] = w
...
Surprisingly, the new parser did not support these constructs (and the
relevant test was missing this case), so on files that required the new
parser we were unable to parse this construct.
To fix it, we add `list_pattern` (not to be confused with
`pattern_list`) as a `tree-sitter-python` node that results in a `List`
node in the AST.
2024-10-22 16:06:35 +00:00
Taus
89ea4b8200
Python: Regenerate parser files
2024-10-22 15:39:41 +00:00
Taus
9c913902c5
Python: Allow except* to be written as except *
...
Turns out, `except*` is actually not a token on its own according to the
Python grammar. This means it's legal to write `except *foo: ...`, which
we previously would consider a syntax error.
To fix it, we simply break up the `except*` into two separate tokens.
2024-10-22 15:39:29 +00:00
Taus
7ceefb509b
Python: Regenerate parser files
2024-10-22 15:17:34 +00:00
Taus
8053e0ed44
Python: Allow list_splats as type annotations
...
That is, the `*T` in `def foo(*args : *T): ...`.
This is apparently a piece of syntax we did not support correctly until
now.
In terms of the grammar, we simply add `list_splat` as a possible
alternative for `type` (which could previously only be an `expression`).
We also update `python.tsg` to not specify `expression` those places (as
the relevant stanzas will then not work for `list_splat`s).
This syntax is not supported by the old parser, hence we only add a new
parser test for it.
2024-10-22 15:17:12 +00:00
Taus
fcec8e0256
Python: Fail tests when errors/warnings are logged
...
This is primarily useful for ensuring that errors where a node does not
have an appropriate context set in `python.tsg` actually have an effect
on the pass/fail status of the parser tests. Previously, these would
just be logged to stdout, but test could still succeed when there were
errors present.
Also fixes one of the logging lines in `tsg_parser.py` to be more
consistent with the others.
2024-10-22 15:11:51 +00:00
Michael Nebel
16fe7a2fbe
Merge pull request #17815 from michaelnebel/csharp/logforgingreplacelineending
...
C#: Add sanitizer to `cs/log-forging`.
2024-10-22 15:41:17 +02:00
Chris Smowton
2312f9d8df
Merge pull request #17811 from github/smowton/admin/package-maven-plugin-change-note
...
Add change-note for Java buildless packaging its required Maven plugin
2024-10-22 14:23:01 +01:00
Cornelius Riemenschneider
cdffa09a7b
Merge pull request #17821 from github/criemen/win-make-bazel
...
Go: Fix makefile to use bash to look up bazel path.
2024-10-22 12:50:10 +02:00
Cornelius Riemenschneider
1ccadbc3f6
Add comment.
2024-10-22 11:26:02 +02:00
Cornelius Riemenschneider
ad1ef65539
Go: Fix makefile to use bash to look up bazel path.
...
On Windows, make's path resolution algorithm is incorrect.
It picks up a bazel.exe in PATH that's _after_ a bazel binary.
In particular, on actions, the non-exe binary is a bazelisk
instance, whereas bazel.exe is a bazel (at the current time 7.3.2)
installation.
This means we pick up the wrong bazel version, and
if the differences between the bazel we want and that we actually
get are too big, the build fails.
2024-10-22 10:51:10 +02:00
Tom Hvitved
60c205ff37
Merge pull request #17818 from hvitved/rust/summary-stats-perf
...
Rust: Speedup `SummaryStats.ql`
2024-10-22 10:15:56 +02:00
Owen Mansel-Chan
23a1ea7191
Merge pull request #17717 from owen-mc/go/update-incorrect-integer-conversion-qhelp
...
Go: Update `go/incorrect-integer-conversion` qhelp to explain possible source of FPs
2024-10-21 21:53:32 +01:00
Jeroen Ketema
9ef1a9c3f9
Merge pull request #17225 from geoffw0/aliasperf2
...
C++: Improve AliasedSSA performance
2024-10-21 20:20:24 +02:00
Taus
9803bbdc4b
Python: Update class parser test
2024-10-21 15:35:48 +00:00
Taus
1cd04c96c7
Python: Fix bug in handling of **kwargs in class bases
...
This caused a dataset check error on the `python/cpython` database, as
we had a `DictUnpacking` node whose parent was not a `dict_item_list`,
but rather an `expr_list`.
Investigating a bit further revealed that this was because in a
construction like
```python
class C[T](base, foo=bar, **kwargs): ...
```
we were mistakenly adding `**kwargs` to the same list as `base` (which
is just a list of expressions), rather than the same list as `foo=bar`
(which is a list of dictionary items)
The ultimate cause of this was the use of `! name` in `python.tsg` to
distinguish between bases and keyword arguments (only the latter of
which have the `name` field). Because `dictionary_splat` doesn't have a
`name` field either, these were mistakenly put in the wrong list,
leading to the error.
Also, because our previous test of `class` statements did not include a
`**kwargs` construction, we were not checking that the new parser
behaved correctly in this case. For the most part this was not a
problem, but on files that use syntax not supported by the old parser
(like type parameters on classes), this became an issue. This is also
why we did not see this error previously.
To fix this, we added `! value` (which is a field present on
`dictionary_splat` nodes) as a secondary filter, and added a third
stanza to handle `dictionary_splat` nodes.
2024-10-21 15:35:47 +00:00
Taus
ae4a4bb881
Python: Flip test expectation
...
This test should now validate that we no longer have dataset check
errors even when there are unencodable characters.
2024-10-21 15:32:23 +00:00
Taus
cc39ae57dc
Python: Fix dataset check error for string encoding
...
Here's an example of one of these errors:
```
INVALID_KEY predicate py_cobjectnames(@py_cobject obj, string name)
The key set {obj} does not functionally determine all fields. Here is a
pair of tuples that agree on the key set but differ at index 1: Tuple 1
in row 63874: (72088,"u'<X>'") Tuple 2 in row 63875: (72088,"u'<?>'")
```
(Here, the substring `X` should really be the Unicode character U+FFFD,
but for some reason I'm not allowed to put that in this commit message.)
Inside the extractor, we assign IDs based on the string type (bytestring
or Unicode) and a hash of the UTF-8 encoded content of the string. In
this case, however, certain _different_ strings were receiving the same
hash, due to replacement characters in the encoding process.
In particular, we were converting unencodable characters to question
marks in one place, and to U+FFFD in another place. This caused a
discrepancy that lead to the dataset check error.
To fix this, we put in a custom error handler that always puts the
U+FFFD character in place of unencodable characters. With this, the
strings now agree, and hence there is no clash.
2024-10-21 15:31:16 +00:00
Porcupiney Hairs
c7610b3539
Include change-note
2024-10-21 20:14:58 +05:30
Porcupiney Hairs
c93f0ed851
Include change-note
2024-10-21 20:12:46 +05:30
Jeroen Ketema
e36a1c717d
Merge branch 'main' into aliasperf2
2024-10-21 16:40:01 +02:00
Porcupiney Hairs
c74f6f587f
Merge branch 'main' into pyloadSsl
2024-10-21 20:09:05 +05:30
Porcupiney Hairs
f6369a6ed7
Include changes from review
2024-10-21 20:01:44 +05:30
Arthur Baars
490f81437b
Merge pull request #17804 from github/aibaars/local-defs-1
...
Rust: add ide-contextual-queries/localDefinitions.ql
2024-10-21 15:30:44 +02:00
Tom Hvitved
f72af4f1f3
Rust: Use Callable to define CfgScope
2024-10-21 15:22:04 +02:00
Tom Hvitved
c4c936d6fa
Rust: Speedup SummaryStats.ql
2024-10-21 15:21:13 +02:00
Michael Nebel
dec2c61e5d
Java: Update LdapInjection expected test output.
2024-10-21 15:19:46 +02:00
Michael Nebel
d59df1f938
Java: Re-generate JDK 17 models.
2024-10-21 15:19:45 +02:00
Michael Nebel
23d285c698
Java: Update model generator expected output.
2024-10-21 15:19:44 +02:00
Michael Nebel
786d04e939
Java: Add the clone method to the model generation exclusions.
2024-10-21 15:19:43 +02:00
Michael Nebel
7919dcfb12
Java: Add modelgenerator clone example.
2024-10-21 15:19:42 +02:00
Michael Nebel
e2ada2536b
Java: Update java.net expected output.
2024-10-21 15:19:41 +02:00
Michael Nebel
97f0037a7b
Java: Manually model InetSocketAddress as the model generator doesn't correctly taint the hostname.
2024-10-21 15:19:40 +02:00
Michael Nebel
0a931aa69f
Java: Add change note.
2024-10-21 15:19:38 +02:00
Michael Nebel
9a44eec04c
Java: Add manual models for FileReader (they would also have disappeared if models were re-generated without using mixed mode).
2024-10-21 15:19:37 +02:00
Michael Nebel
b356c3cd48
Java: Manually model ZipFile (due to CWE-522 compression bombs test failure).
2024-10-21 15:19:36 +02:00
Michael Nebel
f537e04532
Java: Update LdapInjection expected test output.
2024-10-21 15:19:35 +02:00
Michael Nebel
f7b38a8955
Java: Add some less precise models for BasicAttributes to get the models to work with search sink and re-generate SDK models.
2024-10-21 15:19:34 +02:00
Michael Nebel
e94cacd449
Java: Update test expected output where the query results are not affected.
2024-10-21 15:19:33 +02:00
Michael Nebel
24d1e9927b
Java: Update expected test output for the model editor tests.
2024-10-21 15:19:32 +02:00
Michael Nebel
ea14547643
Java: Update TopJdkApisTest expected output.
2024-10-21 15:19:31 +02:00
Michael Nebel
cbd9cc6dae
Java: Update request forgery expected output.
2024-10-21 15:19:30 +02:00
Michael Nebel
3b6f39931b
Java: Re-add generated (mixed) summaries and neutrals for the Java SDK 17.
2024-10-21 15:19:28 +02:00
Michael Nebel
f50734f0ee
Java: Delete all generated Java JDK models.
2024-10-21 15:19:27 +02:00
Tom Hvitved
e9adbf231f
Merge pull request #17816 from hvitved/rust/expr-trees-module
...
Rust: Move all expression CFG trees inside an `ExprTrees` module
2024-10-21 15:12:51 +02:00
Tom Hvitved
d2623cf4c3
Merge pull request #17814 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2024-10-21 15:01:31 +02:00
Tom Hvitved
a6a68ef8be
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2024-10-21 14:43:22 +02:00
Taus
d01593e571
Python: Add test for string encoding dataset check
...
Note that this test checks that the current setup creates dataset check
violations. A later commit will fix this (and flip the negation in the
test).
2024-10-21 12:08:46 +00:00
Tom Hvitved
1f5e02f539
Rust: Move all expression CFG trees inside an ExprTrees module
2024-10-21 13:41:11 +02:00
Simon Friis Vindum
85e59c9920
Merge branch 'main' into rust-saa-additions
2024-10-21 13:30:02 +02:00
Michael Nebel
1217c55c36
C#: Add change note.
2024-10-21 12:08:03 +02:00
Michael Nebel
191658f637
C#: Update expected test output.
2024-10-21 12:04:31 +02:00
Michael Nebel
b2b1a3ea65
C#: Consider string.ReplaceLineEndings(string) as a sanitizer for log forging.
2024-10-21 12:03:59 +02:00
Michael Nebel
0b8e83dc87
C#: Add log forging false positive example using ReplaceLineEndings.
2024-10-21 11:55:09 +02:00
Cornelius Riemenschneider
ce53964edf
Merge pull request #17812 from github/redsun82/rust-move-integration-tests
...
Rust: move integration tests to where other languages have them
2024-10-21 11:41:16 +02:00
Tom Hvitved
7e82595cae
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate MatchExprImpl::Impl::MatchExpr.getLastArm/0#dispred#24e5f4cf@9cf607tl with tuple counts:
660677 ~0% {4} r1 = SCAN `MatchExprImpl::Impl::MatchExpr.getArm/1#dispred#817de8a3` OUTPUT _, In.0, In.2, In.1
660677 ~0% {3} | REWRITE WITH Tmp.0 := 1, Out.0 := (Tmp.0 + In.3) KEEPING 3
5342095756 ~0% {3} | JOIN WITH `MatchArmList::Generated::MatchArmList.getNumberOfArms/0#dispred#9ad72f08_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
96597 ~3% {2} | JOIN WITH `MatchExpr::Generated::MatchExpr.getMatchArmList/0#dispred#11f1a73e` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
return r1
```
After
```
Evaluated relational algebra for predicate MatchExprImpl::Impl::MatchExpr.getLastArm/0#dispred#24e5f4cf@9d7a92pu with tuple counts:
660677 ~0% {5} r1 = JOIN `MatchExprImpl::Impl::MatchExpr.getArm/1#344daffc` WITH `MatchExprImpl::Impl::MatchExpr.getNumberOfArms/0#ab0d8732` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, Rhs.1
{4} | REWRITE WITH Tmp.3 := 1, Out.3 := (In.4 - Tmp.3), TEST Out.3 = InOut.1 KEEPING 4
96597 ~3% {2} | SCAN OUTPUT In.0, In.2
return r1
```
2024-10-21 11:40:13 +02:00
Simon Friis Vindum
5e4ce8f66d
Merge pull request #17800 from paldepind/rust-cfg-fixes
...
Rust: Various fixes to the CFG construction
2024-10-21 10:39:27 +02:00
Chris Smowton
5ba37bd7a3
Rename change note
2024-10-21 09:36:07 +01:00
Simon Friis Vindum
a1ebf98552
Merge branch 'main' into rust-cfg-fixes
2024-10-21 10:12:07 +02:00
Simon Friis Vindum
3ae04752c4
Rust: Accept less CFG inconsistencies
2024-10-21 10:07:11 +02:00
Simon Friis Vindum
9c172f62a4
Rust: Fix dead end in CFG for match expressions with no arms
2024-10-21 09:59:23 +02:00
Paolo Tranquilli
7b870d30a4
Rust: move integration tests to where other languages have them
2024-10-21 09:29:37 +02:00
Simon Friis Vindum
381f061e7f
Rust: Add CFG test for match with no arms
2024-10-21 09:29:28 +02:00
Simon Friis Vindum
e149071634
Merge pull request #17803 from paldepind/unreachable2
...
Rust: More test cases for rust/dead-code
2024-10-21 08:30:36 +02:00
Porcupiney Hairs
7ef2d79b3f
Include changes from review
2024-10-21 03:28:19 +05:30
Calum Grant
c5a082fd8e
C++: Fix CWE-022
2024-10-18 19:45:29 +01:00
Chris Smowton
241f951db1
Add change-note for Java buildless packaging its required Maven plugin
2024-10-18 17:43:18 +01:00
Chris Smowton
74ef91649b
Merge pull request #17780 from smowton/smowton/admin/add-buildless-maven-packaging-test
...
Java buildless: add tests checking usage of a local copy of the Maven dependency graph plugin
2024-10-18 17:38:59 +01:00
Arthur Baars
08af7d0007
Merge pull request #17810 from github/post-release-prep/codeql-cli-2.19.2
...
Post-release preparation for codeql-cli-2.19.2
2024-10-18 18:28:07 +02:00
github-actions[bot]
272f6c2541
Post-release preparation for codeql-cli-2.19.2
2024-10-18 15:56:02 +00:00
Arthur Baars
3990d0e11a
Merge pull request #17808 from github/release-prep/2.19.2
...
Release preparation for version 2.19.2
2024-10-18 17:36:23 +02:00
Arthur Baars
aaf220d41e
Fix typos in changelogs
2024-10-18 15:28:05 +00:00
github-actions[bot]
ca0345324e
Release preparation for version 2.19.2
2024-10-18 15:16:21 +00:00
Arthur Baars
7c15be1f02
Merge pull request #17806 from github/revert-17764-release-prep/2.19.2
...
Revert "Release preparation for version 2.19.2"
2024-10-18 17:13:50 +02:00
Arthur Baars
eb515f884b
Revert "Release preparation for version 2.19.2"
2024-10-18 17:06:20 +02:00
Calum Grant
0fcabc4e61
C++: Move mayBeFromImplicitlyDeclaredFunction to Call
2024-10-18 15:56:08 +01:00
Jami
c8d420ec57
Merge pull request #17795 from jcogs33/jcogs33/update-spring-csrf-qhelp-link
...
Java: update qhelp link for `java/spring-disabled-csrf-protection`
2024-10-18 10:11:37 -04:00
Arthur Baars
4a5a48a5b6
Rust: move PrintCfg to ide-contextual-queries
2024-10-18 16:11:18 +02:00
Arthur Baars
c9372b91f8
Rust: move ide-contextual-queries to the library pack
2024-10-18 16:11:17 +02:00
Arthur Baars
53744407ad
Rust: add localDefinitions.ql
2024-10-18 16:11:08 +02:00
Calum Grant
419780591a
C++: Resolve firstFormatArgumentIndex in FormattingFunction CP
2024-10-18 14:52:54 +01:00
Simon Friis Vindum
4ddc7a4592
Rust: Update unused value expected results
2024-10-18 15:49:52 +02:00
yoff
8cb339aa93
Merge pull request #17801 from yoff/python/extra-std-models
...
Python: extra modelling of stdlib
2024-10-18 15:32:01 +02:00
Jami Cogswell
335c59792c
Java: remove unnecessary anchor and update page name
2024-10-18 09:26:56 -04:00
Rasmus Lerchedahl Petersen
30e5a12230
Python: udate expectations
2024-10-18 15:14:51 +02:00
Simon Friis Vindum
b665f45ffa
Merge branch 'main' into unreachable2
2024-10-18 15:13:40 +02:00
Chuan-kai Lin
41e811773c
Merge pull request #17648 from github/cklin/dataflow-diff-informed-filtering
...
Dataflow: apply diff-informed filtering consistently
2024-10-18 06:02:28 -07:00
Tamas Vajk
4bf6280435
KE2: Extract simple method calls
2024-10-18 14:06:08 +02:00
Rasmus Lerchedahl Petersen
30053da70d
Python: extra modelling of stdlib
...
as a reaction to the latest QA run
2024-10-18 13:49:33 +02:00
Simon Friis Vindum
b1e85d1ad8
Rust: Refactor BreakExprTree to use StandardPostOrderTree
2024-10-18 13:30:36 +02:00
Simon Friis Vindum
28f111b7c0
Rust: Remove erroneous CFG edge from return to break
2024-10-18 13:26:11 +02:00
Simon Friis Vindum
4ca6b0eceb
Rust: Add a CFG test for a return within a break
2024-10-18 13:22:39 +02:00
Simon Friis Vindum
6568eb80a2
Rust: Refactor CFG pattern tree implementation
2024-10-18 12:52:56 +02:00
Simon Friis Vindum
7aa28a0449
Rust: Fix multiple CFG successors in range pattern without lower bound
2024-10-18 11:19:21 +02:00
Simon Friis Vindum
b0625f83c6
Rust: Add CFG test of range patterns
2024-10-18 11:19:19 +02:00
Simon Friis Vindum
272d12fee1
Rust: Step correctly over method arguments
...
Previously the math was wrong and the first argument (with `i` being `0`) had two edges out of it.
2024-10-18 11:19:07 +02:00
Owen Mansel-Chan
f3abe549f3
Merge pull request #17794 from owen-mc/go/ast-viewer-typeparamdecl
...
Go: Fix type param declarations in AST viewer
2024-10-18 10:14:51 +01:00
Owen Mansel-Chan
b0376d500c
Merge pull request #17792 from owen-mc/go/lookthrough-pointer-type
...
Go: Add helper predicate `lookThroughPointerType`
2024-10-18 09:30:46 +01:00
Owen Mansel-Chan
bacf448388
Add change note
2024-10-17 22:06:49 +01:00
Jami Cogswell
88b7a9fcb5
Java: update qhelp link
2024-10-17 16:38:53 -04:00
Chris Smowton
8b0bd8c8ad
Adjust test expectations
2024-10-17 20:42:41 +01:00
Chris Smowton
13f19481db
Add tests checking Maven retrieves the depgraph plugin from our shipped repo, and produces the expected settings.xml file in the process
2024-10-17 20:42:40 +01:00
Arthur Baars
6e197b5802
Merge pull request #17773 from geoffw0/unusedval2
...
Rust: Implement UnusedValue.ql (2)
2024-10-17 21:03:24 +02:00
Dave Bartolomeo
639864e94d
Handle may vs. must for EntireAllocationMemoryLocation
2024-10-17 19:50:50 +01:00
Chuan-kai Lin
1aa3eb527f
Dataflow: apply diff-informed filtering consistently
2024-10-17 10:23:38 -07:00
yoff
b07c788a08
Merge pull request #17793 from github/tausbn/python-update-docs-for-python-3.13
...
Python: Update supported-versions-compilers.rst
2024-10-17 16:59:08 +02:00
Owen Mansel-Chan
7ed82068ef
Add type param decls to AST viewer hierarchy
2024-10-17 15:39:16 +01:00
Geoffrey White
e1aaa136b2
Rust: Add variants with pattern matching for unreachable_let_1 and 2.
2024-10-17 15:38:47 +01:00
Taus
bf920605b2
Python: Update supported-versions-compilers.rst
...
Adds Python 3.13 to the list.
We might want to consider shortening the list to something like "3.5 - 3.13" at some point.
Also, once we're finally rid of standard library extraction, we should update footnote 8 accordingly.
2024-10-17 16:38:10 +02:00
Owen Mansel-Chan
b8ea8400d1
Add type param decls to PrintAST tests
2024-10-17 15:37:31 +01:00
Geoffrey White
3d0c86e176
Rust: Test spacing.
2024-10-17 15:37:03 +01:00
Jeroen Ketema
064ec91fa2
Merge pull request #17778 from jketema/param-name
...
C++: Improve parameter naming
2024-10-17 16:29:10 +02:00
Simon Friis Vindum
b2032fc6fd
Rust: Only normal completion of a let statement initializer steps to the pattern
2024-10-17 16:28:57 +02:00
Simon Friis Vindum
e6f1edcbb5
Rust: Conditional completion of match arm expression should now flow to next arm
2024-10-17 16:25:19 +02:00
Simon Friis Vindum
04f2062942
Rust: Label the non-return CFG edge out of question mark as match
2024-10-17 16:22:07 +02:00
Simon Friis Vindum
fd5d6255c1
Rust: Avoid creating CFG scopes for trait signatures without implementations
2024-10-17 16:20:30 +02:00
Simon Friis Vindum
b0cd44e47f
Rust: Add CFG test cases
2024-10-17 16:09:17 +02:00
Owen Mansel-Chan
1318504aa5
Add QLDoc
2024-10-17 12:06:46 +01:00
Owen Mansel-Chan
87992fac88
Revert change to hasEmbeddedField
2024-10-17 11:50:17 +01:00
Mathias Vorreiter Pedersen
b9205b13d6
Merge pull request #17788 from MathiasVP/better-function-pointer-resolution
...
C++: Improve function pointer resolution
2024-10-17 11:27:43 +01:00
Owen Mansel-Chan
5007666d6e
Add helper predicate lookThroughPointerType
2024-10-17 11:26:24 +01:00
Mathias Vorreiter Pedersen
5e04358ece
Update cpp/ql/lib/change-notes/2024-10-16-new-api-for-call-target-resolution.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-10-17 10:57:30 +01:00
Calum Grant
4341fab794
C++: Reject invalid results from getFirstFormatArgumentIndex()
2024-10-17 10:50:44 +01:00
Simon Friis Vindum
2d1c62b6df
Rust: Fix dead end in CFG for empty tuple and struct patterns
2024-10-17 10:40:34 +02:00
Simon Friis Vindum
b97ec405d0
Rust: Add CFG tests with empty tuple and struct patterns
2024-10-17 10:34:49 +02:00
Mathias Vorreiter Pedersen
baab74cb35
C++: Add change notes.
2024-10-16 17:45:44 +01:00
Geoffrey White
e21959d7bb
Rust: Add more unreachable test cases.
2024-10-16 17:34:57 +01:00
Geoffrey White
a92de0df93
Rust: Test spacing.
2024-10-16 16:56:12 +01:00
Calum Grant
5315a5cfbf
C++: Tweak test
2024-10-16 15:47:34 +01:00
Anders Schack-Mulligen
4153a83a4f
Python: Add workaround.
2024-10-16 16:14:51 +02:00
Anders Schack-Mulligen
5950c336e2
Python: Refactor references to NormalCall.
2024-10-16 16:04:31 +02:00
Mathias Vorreiter Pedersen
a99d57640a
C++: Add a new API for getting the target of a 'Call' expression.
2024-10-16 14:45:44 +01:00
Geoffrey White
7e2542bd74
Rust: Accept consistency check failures.
2024-10-16 14:32:16 +01:00
Geoffrey White
7d62cdad71
Merge pull request #17774 from geoffw0/astcount
...
Rust: Count number of AST inconsistencies
2024-10-16 14:17:39 +01:00
Mathias Vorreiter Pedersen
2dbf75fde9
C++: Accept test changes.
2024-10-16 14:15:05 +01:00
Mathias Vorreiter Pedersen
30e0781778
C++: Also check for source calls when using 'lambda call resolution'.
2024-10-16 14:14:52 +01:00
Mathias Vorreiter Pedersen
9ea4c40ca9
C++: Add failing test.
2024-10-16 14:13:55 +01:00
Simon Friis Vindum
76e1885355
Rust: Make mutable variables that are only borrowed immutably amenable for SSA
2024-10-16 15:07:46 +02:00
Simon Friis Vindum
577afc3fd5
Rust: Support capture of mutable variables in SSA
2024-10-16 14:57:46 +02:00
Calum Grant
9758e023f9
C++: Remove redundant test
2024-10-16 13:47:06 +01:00
Calum Grant
ceceee1947
C++: Add test for mixed implicit/explicit function declarations
2024-10-16 13:46:06 +01:00
Anders Schack-Mulligen
42d35f8b9d
Ruby: Exclude some cases that are unlikely library calls.
2024-10-16 14:35:23 +02:00
Anders Schack-Mulligen
c20f12fa6c
Add qldoc.
2024-10-16 14:35:23 +02:00
Anders Schack-Mulligen
9ca8a27bae
C/C++: Accept test changes.
2024-10-16 14:35:22 +02:00
Anders Schack-Mulligen
4e8a4a5cdd
C/C++: Add tentative support for speculative taint flow.
2024-10-16 14:35:22 +02:00
Anders Schack-Mulligen
fae71756eb
Go: Add tentative support for speculative taint flow.
2024-10-16 14:35:21 +02:00
Anders Schack-Mulligen
635071fe8a
Swift: Add tentative support for speculative taint flow.
2024-10-16 14:35:21 +02:00
Anders Schack-Mulligen
7497d9530d
Python: Add tentative support for speculative taint flow.
2024-10-16 14:35:20 +02:00
Anders Schack-Mulligen
8eb0cb4c66
Ruby: Add tentative support for speculative taint flow.
2024-10-16 14:35:20 +02:00
Anders Schack-Mulligen
7b43100af5
C#: Add support for speculative taint flow.
2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
6c6b6061bc
Dataflow: Add consistency check.
2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
8b99154a00
Java: Add support for speculative taint flow.
2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
7d123296f8
Dataflow: Add speculative flow modules.
2024-10-16 14:35:18 +02:00
Anders Schack-Mulligen
c80627a3d3
Dataflow: add plumbing for adding provenance to state-steps.
2024-10-16 14:35:18 +02:00
Ian Lynagh
a922f97200
Merge pull request #17777 from igfoo/igfoo/log-sev
...
KE2: Log our verbosity level
2024-10-16 12:46:58 +01:00
Tamás Vajk
9a4cd2152a
Merge pull request #17752 from tamasvajk/ke2-string-plus
...
KE2: Extract `String.plus` and `String?.plus` calls
2024-10-16 13:35:08 +02:00
Jeroen Ketema
bee073dee5
Merge pull request #17776 from jketema/parent-scope
...
C++: Add missing parent scope cases
2024-10-16 13:12:24 +02:00
Simon Friis Vindum
a1db359ba1
Rust: Add variable tests involving borrowing and capture
2024-10-16 13:05:53 +02:00
yoff
6cb607e087
Merge pull request #17779 from github/tausbn/python-run-replace-test
...
Python: Add `copy.replace` test to list of runnable tests
2024-10-16 13:01:49 +02:00
Geoffrey White
4577d1ce06
Rust: Additional test cases.
2024-10-16 11:38:30 +01:00
Jeroen Ketema
1eb0b49634
C++: Improve parameter naming
2024-10-16 11:33:18 +02:00
Calum Grant
d88a674a15
C++: Change note for mayBeFromImplicitlyDeclaredFunction
2024-10-16 10:27:54 +01:00
Calum Grant
6a48ad0ee7
C++: Implement Expr::mayBeFromImplicitlyDeclaredFunction
2024-10-16 10:23:39 +01:00
Paolo Tranquilli
79c3728d1f
Merge pull request #17719 from github/redsun82/bazel-lfs
...
Bazel: skip git lfs endpoints presenting malformed data, and print workaround
2024-10-16 10:57:30 +02:00
Calum Grant
853128c9c3
C++: Clean up false-positives
...
C++: Change note
2024-10-16 09:46:26 +01:00
Paolo Tranquilli
8f451515e0
Bazel: print workaround for git_lfs_probe.py failing
2024-10-16 10:16:38 +02:00
Paolo Tranquilli
fd31e6d813
Bazel: skip git lfs endpoints presenting malformed data
2024-10-16 10:01:19 +02:00
Taus
65dbc1de91
Python: Add copy.replace test to list of runnable tests
2024-10-15 18:17:00 +02:00
Taus
28f8874243
Merge pull request #17688 from github/tausbn/python-3.13-default-type-parser-support
...
Python: Add support for type parameter defaults
2024-10-15 18:01:51 +02:00
Taus
d4e0cb2ffa
Merge pull request #17767 from github/tausbn/python-3.13-model-flow-in-replace
...
Python: Model `copy.replace`
2024-10-15 18:01:28 +02:00
Ian Lynagh
9b13368e23
KE2: Log our verbosity level
...
This happens at `info` level, which is logged by default.
2024-10-15 16:23:25 +01:00
Geoffrey White
5b667026cb
Rust: More fixup after some line numbers changed.
2024-10-15 16:17:03 +01:00
Jeroen Ketema
22b8e2cbb4
C++: Add missing parent scope cases
2024-10-15 17:16:58 +02:00
Calum Grant
fe85e007b3
C++: Add test for cpp/wrong-type-format-argument
2024-10-15 16:09:35 +01:00
Paolo Tranquilli
886c7f1f7a
Merge pull request #17771 from github/redsun82/rust-codegen
...
Rust: fix codegen to allow `--force` again
2024-10-15 17:08:39 +02:00
Owen Mansel-Chan
5efb88ed1f
Merge pull request #17737 from owen-mc/go/extractor/objecttypes-consistency-generics-2
...
Go: extractor/objecttypes consistency generics (second try)
2024-10-15 15:50:45 +01:00
Paolo Tranquilli
2c970a080d
Rust: remove useless blank line
...
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com >
2024-10-15 16:50:15 +02:00
Geoffrey White
feed0ebeca
Rust: Autoformat.
2024-10-15 15:49:56 +01:00
Geoffrey White
f9eca42ded
Merge pull request #17763 from geoffw0/cfgcount3
...
Rust: Count number of CFG inconsistencies
2024-10-15 15:43:39 +01:00
Geoffrey White
2a68d3e46e
Rust: Put Yes, No back in the logical order.
2024-10-15 15:31:34 +01:00
Geoffrey White
84a74d910d
Rust: Fixup after merging main.
2024-10-15 15:24:43 +01:00
Tom Hvitved
88f6d3b5ea
Rust: Implement UnusedValue.ql
2024-10-15 15:05:39 +01:00
Ian Lynagh
196baa99b2
Merge pull request #17769 from igfoo/igfoo/2.1.0-beta2
...
Kotlin: Fix for 2.1.0-Beta2
2024-10-15 14:56:55 +01:00
Arthur Baars
bdec751527
Merge pull request #17768 from github/post-release-prep/codeql-cli-2.19.2
...
Post-release preparation for codeql-cli-2.19.2
2024-10-15 15:33:42 +02:00
Geoffrey White
f07f6188ae
Rust: Make rust/summary/summary-statistics a metric query so that we can access data in the DCA job.
2024-10-15 14:19:46 +01:00
Geoffrey White
f4d4925239
Rust: Address QL-for-QL complaint.
2024-10-15 14:19:45 +01:00
Geoffrey White
2be5ce4f7a
Rust: Change rust/summary/summary-statistics to a diagnostic query, so that it gets run as a diagnmetric query for DCA.
2024-10-15 14:19:44 +01:00
Geoffrey White
e8953fb5e4
Rust: Add diagnostic query for AST inconsistency counts.
2024-10-15 14:19:43 +01:00
Geoffrey White
e01ecd1b79
Rust: Calculate a total of AST inconsistencies.
2024-10-15 14:19:42 +01:00
Geoffrey White
2d019eb00e
Rust: Add QLDoc to the AST consistency rules and make their output more consistent.
2024-10-15 14:19:40 +01:00
Geoffrey White
b5c88c7bfe
Rust: Give the extraction consistency query metadata as well.
2024-10-15 14:19:39 +01:00
Geoffrey White
414fcf836e
Rust: Move the AST consistency logic to a .qll.
2024-10-15 14:19:38 +01:00
Geoffrey White
79c5adfc9a
Rust: Use correct versions of the consistency predicates.
2024-10-15 14:10:51 +01:00
Paolo Tranquilli
1d9767a163
Merge pull request #17770 from github/redsun82/rust-callable-base
...
Rust: Add `Callable` as a base class of `Function` and `ClosureExpr`
2024-10-15 15:00:59 +02:00
Paolo Tranquilli
8e31abaefe
Rust: fix codegen to allow --force
...
This passes command line arguments to codegen, allowing in particular
`--force` to be passed.
Also, a convenience `//rust/codegen:py` is added to only run the python
based code generation, which will be faster and enough when
`ast-generator` is unchanged.
2024-10-15 14:37:30 +02:00
Jeroen Ketema
50ec2549c0
Merge pull request #17740 from jketema/requires
...
C++: Add support for C++ requires expressions
2024-10-15 14:32:28 +02:00
Paolo Tranquilli
bd08bc7923
Rust: address review
2024-10-15 14:21:11 +02:00
Ian Lynagh
b5bfd06624
Kotlin: Fix for 2.1.0-Beta2
...
We need to catch a different exception now.
2024-10-15 13:17:26 +01:00
github-actions[bot]
079ab77a38
Post-release preparation for codeql-cli-2.19.2
2024-10-15 12:16:59 +00:00
Taus
3b60d8302b
Python: Add change note
2024-10-15 12:14:20 +00:00
Taus
778b96aa39
Python: Update test expectations
2024-10-15 12:14:19 +00:00
Taus
eaef783f4b
Python: Add partial model for copy.replace
...
Extends our modelling to partially cover the behaviour of
`copy.replace`. In particular, we model this in two ways:
Firstly, we extend the existing Models-as-Data row for `copy` and
`deepcopy` to also cover `replace`. This means that we treat the result
of `replace` as containing all of the fields of the original object.
This is somewhat _more_ than we want, as strictly speaking the fields
that are overwritten should _not_ propagate flow through the `replace`
call, but currently we don't have a good way of modelling this blocking
of flow.
Secondly, we add a flow summary that adds flow from named arguments of
the `replace` call to the corresponding fields on the base object. This
ensures that we at least have the new flow arising from the `replace`
call.
Note that the flow summary adds this flow for _all_ named arguments of
_all_ `replace` calls throughout the codebase. However, since any
particular `replace` call will only populate a subset of these (the
subset consisting of exactly those named arguments that are in that
particular call), this does not cause any unwanted crosstalk between
different `replace` calls.§
2024-10-15 12:14:19 +00:00
Paolo Tranquilli
5b2eb88672
Merge pull request #17766 from github/aibaars/fix-cwe-link
...
Fix CWE coverage link in main index
2024-10-15 14:05:50 +02:00
Taus
6f2cfa0ba8
Python: Update CopySummary to use getMaDRepresentation
...
Demonstrates the somewhat more ergonomic way to use
`getMaDRepresentation` when specifying summaries.
Note that this slightly extends the previous definition, in that
`DictionaryContentAny` is now _also_ propagated by a call to the
`.copy()` method, but I think this is correct.
2024-10-15 11:52:37 +00:00
Taus
ce914019c5
Python: Add getMaDRepresentation()
...
This adds a convenient way of getting the Models-as-Data representation
of a particular type of content. This avoids repeating the same
construction over and over in our various summaries. Currently this is
defined for all types of content except the captured variable content,
which to my knowledge doesn't have any representation in Models-as-Data.
2024-10-15 11:50:38 +00:00
Taus
e16405c675
Python: Add test for copy.replace
...
This test demonstrates the current state of affairs: that `copy.replace`
essentially blocks all flow of taint through it, because it has not been
modelled yet.
2024-10-15 11:48:43 +00:00
Jeroen Ketema
168f7f5d34
C++: Add support for C++ requires expressions
2024-10-15 13:44:17 +02:00
Arthur Baars
af6fc676ce
Fix CWE coverage link in main index
2024-10-15 13:34:38 +02:00
Taus
417e60a466
Python: Update extractor version
2024-10-15 11:22:54 +00:00
Taus
d905010aa8
Python: Add change note
2024-10-15 11:22:34 +00:00
Taus
8630f57710
Python: Add up-/downgrade scripts
...
Adds up- and downgrade scripts for the support for type parameter
defaults.
In the upgrade direction we do nothing, matching the behaviour of
`getDefault` not having a result for old databases.
In the downgrade direction, we explicitly remove the relevant child (via
the `py_exprs` database relation) for `TypeVar`, `TypeVarTuple`, and
`ParamSpec` parameters.
2024-10-15 11:22:33 +00:00
Taus
819b3d77ab
Python: Update test expectations
...
Note that this still includes the somewhat puzzling parsing of
`Spam[**P2]` as an exponentiation with an empty left hand side. When we
fix that bug, we should also update this test to contain actually valid
syntax.
2024-10-15 11:22:33 +00:00
Taus
182a192cc0
Python: Regenerate dbscheme/AST
2024-10-15 11:22:33 +00:00
Taus
36d89745f9
Python: Fix dbscheme/AST autogeneration
...
There was an errant `ql` in the relevant paths, a leftover from the move
from the internal repo. Also, we can no longer rely on an intree version
of the CodeQL CLI, so from now on we'll just assume it's present in the
path. (On Codespaces, `gh codeql` is a decent replacement, especially if
using the `install-stub` functionality.
2024-10-15 11:22:32 +00:00
Taus
2af0d78435
Python: Add default field to the relevant AST nodes
2024-10-15 11:22:32 +00:00
Taus
55ee3eb36b
Python: Add TSG support for type defaults
2024-10-15 11:22:31 +00:00
Taus
6545bfffa7
Python: Regenerate parser files
...
Two new files -- alloc.h and array.h -- suddenly appeared. Presumably
they are used by the somewhat newer version of tree-sitter. To be safe,
I included them in this commit.
2024-10-15 11:22:31 +00:00
Taus
882249ef82
Python: Add grammar support for type defaults
...
Also fixes an oversight in the grammar: starred expressions should be
allowed inside the subscript of an `Index` expression.
2024-10-15 11:22:30 +00:00
Taus
1ced5b44d7
Python: Add test for type parameter defaults
2024-10-15 11:22:30 +00:00
Arthur Baars
15bc417a17
Merge pull request #17764 from github/release-prep/2.19.2
...
Release preparation for version 2.19.2
2024-10-15 13:08:40 +02:00
Arthur Baars
9ba8045837
Fix typos in changelog entries
2024-10-15 11:06:20 +00:00
Ian Lynagh
24d98eef83
Merge pull request #17741 from github/igfoo/logverb
...
Kotlin: Log our verbosity level
2024-10-15 11:42:15 +01:00
Geoffrey White
abc4981300
Rust: Address QL-for-QL complaint.
2024-10-15 11:30:03 +01:00
github-actions[bot]
255f55cf1a
Release preparation for version 2.19.2
2024-10-15 10:29:25 +00:00
Geoffrey White
983179b84e
Rust: Autoformat.
2024-10-15 11:23:16 +01:00
Owen Mansel-Chan
1626af0ae1
Merge pull request #17748 from owen-mc/go/join-order-fix/data-flow-node-gettype
...
Go: Fix bad join order in `SummarizedParameterNode.gettype`
2024-10-15 10:14:38 +01:00
Paolo Tranquilli
248eb7f00c
Merge branch 'main' into rust/callable-base
2024-10-15 11:03:11 +02:00
Geoffrey White
7d9a3e1399
Merge pull request #17756 from geoffw0/unusedvar6
...
Rust: More test cases for rust/unused-variable
2024-10-15 10:02:37 +01:00
Arthur Baars
508e8157b3
Merge pull request #17746 from github/aibaars/macro-pat-irrefutable
...
Rust: add MacroPat to isExhaustiveMatch
2024-10-15 10:45:06 +02:00
Geoffrey White
5e33d9a145
Rust: Further changes from code review.
2024-10-15 09:38:17 +01:00
Geoffrey White
8169ccd21e
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2024-10-15 09:36:09 +01:00
Tamas Vajk
7b198da95f
Improve code quality
2024-10-15 10:29:14 +02:00
Simon Friis Vindum
cc1e33fb64
Merge pull request #17713 from hvitved/rust/ssa
...
Rust: Initial SSA implementation
2024-10-15 09:59:48 +02:00
Tamas Vajk
125797cd4f
Improve code quality
2024-10-14 20:31:52 +02:00
Geoffrey White
57875554f4
Rust: Accept consistency failures in the new test cases.
2024-10-14 17:06:55 +01:00
Geoffrey White
e5885f65db
Rust: Add more test cases for unused variables and unreachable code.
2024-10-14 16:25:18 +01:00
Geoffrey White
528641c55a
Rust: Test spacing.
2024-10-14 16:25:17 +01:00
Geoffrey White
134539060d
Rust: correct some 'spurious' annotations that are off by one line.
2024-10-14 16:24:44 +01:00
Geoffrey White
25b592fc89
Merge pull request #17744 from geoffw0/unusedvar5
...
Rust: Unused variable follow-up work
2024-10-14 16:20:52 +01:00
Taus
5115216c2d
Merge pull request #17755 from github/python/more-adj
...
python: more adjustments...
2024-10-14 17:16:16 +02:00
yoff
da5e9ac18c
python: more adjustments...
2024-10-14 14:54:33 +00:00
Edward Minnix III
ade5686e52
Merge pull request #17335 from egregius313/egregius313/go/dataflow/models/stdin
...
Go: Implement `stdin` models
2024-10-14 10:38:27 -04:00
Taus
96ea9507a4
Merge pull request #17754 from github/python/extractor-expectations
...
python: update extractor expectations
2024-10-14 16:35:06 +02:00
yoff
9d8d7ab237
python: update extractor expectations
2024-10-14 14:14:40 +00:00
Arthur Baars
ae7afa7aff
Update rust/ql/lib/codeql/rust/controlflow/internal/Completion.qll
...
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com >
2024-10-14 15:20:43 +02:00
Arthur Baars
867c8a7fa6
Merge branch 'main' into aibaars/macro-pat-irrefutable
2024-10-14 15:02:28 +02:00
Simon Friis Vindum
ef1592fe32
Merge pull request #17751 from paldepind/rust-rename-predicate
...
Rust: Rename isIrrefutablePattern to isExhaustiveMatch
2024-10-14 14:47:15 +02:00
Tamas Vajk
a3a93d826e
KE2: Extract String.plus and String?.plus calls
2024-10-14 14:39:01 +02:00
Arthur Baars
493a68a232
Rust: add MacroPat to isExhaustiveMatch
2024-10-14 13:55:59 +02:00
Simon Friis Vindum
22261c1480
Rust: Rename isIrrefutablePattern to isExhaustiveMatch
2024-10-14 13:43:57 +02:00
Simon Friis Vindum
d0f978d937
Merge pull request #17749 from paldepind/rust-cfg-handle-question-mark
...
Rust: Handle question mark operator in CFG
2024-10-14 13:19:46 +02:00
Arthur Baars
de612963de
Merge pull request #17750 from yoff/python/extractor-test-expectaionts
...
Python: adjust test expectations for extractor test
2024-10-14 12:54:15 +02:00
Rasmus Lerchedahl Petersen
3402a729d0
Python: adjust test expectations for extractor test
2024-10-14 12:36:56 +02:00
Simon Friis Vindum
e83f1d17bf
Rust: Simplify return implementation in CFG
2024-10-14 11:40:35 +02:00
Simon Friis Vindum
8e4e663739
Rust: Handle question mark operator in CFG
2024-10-14 11:38:35 +02:00
Simon Friis Vindum
2f07f1c730
Rust: Abnormal completion in scrutinee does not continue to match arms
2024-10-14 11:32:22 +02:00
Simon Friis Vindum
23ee7b955c
Rust: Add CFG tests for question mark operator and scrutinee with return
2024-10-14 11:27:32 +02:00
Owen Mansel-Chan
1456ec2119
Fix bad join order in SummarizedParameterNode.gettype
...
Specifically the disjunct for this.getPos() != -1. Running on
uber/aresdb, before we had this:
2403 ~1% {3} r6 = JOIN `DataFlowUtil::SummarizedParameterNode.getPos/0#dispred#70a2aab4` WITH `DataFlowPrivate::FlowSummaryNode.getSummarizedCallable/0#dispred#e79ea9be` ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
9149774 ~5% {4} | JOIN WITH `Types::SignatureType.getParameterType/1#dispred#2c11bb7b_102#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1, Rhs.2
923 ~9% {2} | JOIN WITH `Scopes::Callable.getType/0#dispred#55a0e6a2` ON FIRST 2 OUTPUT Lhs.2, Lhs.3
We add a binding pragma to make it not bind on this.getPos() until
necessary. After we have this:
2403 ~0% {3} r6 = JOIN `DataFlowUtil::SummarizedParameterNode.getPos/0#dispred#70a2aab4` WITH `DataFlowPrivate::FlowSummaryNode.getSummarizedCallable/0#dispred#e79ea9be` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1
2373 ~0% {3} | JOIN WITH `Scopes::Callable.getType/0#dispred#55a0e6a2` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
923 ~9% {2} | JOIN WITH `Types::SignatureType.getParameterType/1#dispred#2c11bb7b` ON FIRST 2 OUTPUT Lhs.2, Rhs.2
2024-10-13 14:27:51 +01:00
Tom Hvitved
6290be2922
Rust: Initial SSA implementation
2024-10-11 19:39:28 +02:00
Tom Hvitved
b0ea175021
Rust: Add more variables tests
2024-10-11 19:36:04 +02:00
yoff
8f681154ce
Merge pull request #17683 from yoff/python/flip-default-for-stdlib-extraction
...
Python: Flip default for stdlib extraction
2024-10-11 18:34:44 +02:00
Geoffrey White
c4256f21c7
Rust: Fix out-of-date spurious tags.
2024-10-11 17:18:41 +01:00
Geoffrey White
ac9a8d602c
Rust: Add metadata to the original CFG consistency query.
2024-10-11 17:01:47 +01:00
Geoffrey White
d4c3e3323f
Rust: Add diagnostic query for CFG inconsistency counts.
2024-10-11 17:01:46 +01:00
Geoffrey White
7b712f3d65
Rust: Calculate a total of CFG inconsistencies.
2024-10-11 17:01:41 +01:00
Geoffrey White
4398c83a67
Rust: Add more QLDoc to the CFG consistency library.
2024-10-11 16:53:46 +01:00
Geoffrey White
85f2582afd
Rust: Move CFG consistency logic into a library.
2024-10-11 16:53:45 +01:00
Paolo Tranquilli
5b57826915
Merge pull request #17659 from github/aibaars/rust-macros
...
Rust: add macro expansion to the extractor
2024-10-11 17:29:29 +02:00
Ian Lynagh
9f340279cb
Kotlin: Accept test changes
2024-10-11 15:10:19 +01:00
yoff
2af60f1390
Merge pull request #17712 from yoff/python/re-finditer-match
...
Python: model that `re.finditer` returns an iterable of `re.Match` objects
2024-10-11 16:08:49 +02:00
Arthur Baars
fc298b23c9
Rust: address comment
2024-10-11 16:01:13 +02:00
Arthur Baars
5f45402cf7
Merge remote-tracking branch 'upstream/main' into aibaars/rust-macros
2024-10-11 15:40:07 +02:00
Rasmus Lerchedahl Petersen
5650694313
Python: update tests
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
e2eb08b543
Python: improve messaging
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
22588c9f85
Python: update ectractor version
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
c013d4a59c
Python: update test expectations
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
4a291147e0
Python: only look for the py2 stdlib if we extract std lib
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
bb78c2a67e
Python: update test expectations
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
e91efaa92e
python: do not extract stdlib by default
2024-10-11 15:36:44 +02:00
Ian Lynagh
156ddd3fae
Kotlin: Log our verbosity level
...
This happens at `info` level, which is logged by default.
2024-10-11 14:24:25 +01:00
Tom Hvitved
ac8b9739c5
Merge pull request #17686 from hvitved/rust/cfg-patterns
...
Rust: Include parameters and patterns in the CFG
2024-10-11 14:45:27 +02:00
Tom Hvitved
ffd6b9864c
Address review comments
2024-10-11 14:27:42 +02:00
Arthur Baars
659ce6f1ca
Rust: fix CodeQL alert
2024-10-11 13:45:10 +02:00
Arthur Baars
b4bb24aa43
Merge remote-tracking branch 'upstream/main' into aibaars/rust-macros
2024-10-11 13:33:50 +02:00
Tamás Vajk
bc15f40f8f
Merge pull request #17729 from tamasvajk/ke2-numeric-plus
...
KE2: Extract binary plus on numeric types
2024-10-11 13:26:41 +02:00
Arthur Baars
6ade2a8054
Rust: address comments
2024-10-11 13:11:12 +02:00
Tom Hvitved
0ec40afa4c
Rust: Update expected test output
2024-10-11 12:44:35 +02:00
Owen Mansel-Chan
9381dda4a9
Use un-specialized field when extracting struct types
2024-10-11 11:30:02 +01:00
Owen Mansel-Chan
6bf6ed6f48
Add check for object for specialized named type
2024-10-11 11:30:00 +01:00
Owen Mansel-Chan
a810309160
Add check for specialized objects
2024-10-11 11:29:58 +01:00
Owen Mansel-Chan
45710e23c6
Always use generic method object
2024-10-11 11:29:57 +01:00
Tom Hvitved
8cc349e85f
Rust: Run codegen
2024-10-11 12:01:16 +02:00
Tom Hvitved
b284a2a7c0
Rust: Add Callable as a base class of Function and ClosureExpr
2024-10-11 12:00:30 +02:00
Paolo Tranquilli
854d7660eb
Merge pull request #17730 from github/redsun82/codegen-annotate
...
Rust: insert `CallExprBase` in the hierarchy
2024-10-11 10:59:40 +02:00
Jeroen Ketema
57c6e4d9cb
Merge pull request #17734 from jketema/handle-print
...
C++: Print handler parameters in PrintAST
2024-10-11 10:53:27 +02:00
Paolo Tranquilli
f3bf347bd6
Merge branch 'main' into redsun82/codegen-annotate
2024-10-11 10:38:02 +02:00
Arthur Baars
9fad5410c0
Rust: implement CFG for macros
2024-10-11 10:37:24 +02:00
Tamas Vajk
ea688372bd
Apply review findings
2024-10-11 10:17:16 +02:00
Paolo Tranquilli
c66bd72620
Rust: rename to CallExprBase
2024-10-11 09:52:30 +02:00
Ian Lynagh
575eb24073
Merge pull request #17735 from github/revert-17709-go/extractor/objecttypes-consistency-generics
...
Revert "Go: extractor/objecttypes consistency generics"
2024-10-10 22:20:03 +01:00
Owen Mansel-Chan
d013c8940d
Revert "Go: extractor/objecttypes consistency generics"
2024-10-10 21:37:44 +01:00
Tom Hvitved
756affa4aa
Rust: Fix bugs in LetExprTree and MethodCallExprTree
2024-10-10 21:05:01 +02:00
Tom Hvitved
2f14ec9f2a
Rust: Include patterns in the CFG
2024-10-10 21:05:00 +02:00
Tom Hvitved
f6f54c6e3b
Rust: Include parameters in the CFG
2024-10-10 21:04:58 +02:00
Tom Hvitved
665da3958a
Rust: Add CFG test for nested function
2024-10-10 21:04:57 +02:00
Jeroen Ketema
f1a350c96a
C++: Print handler parameters in PrintAST
2024-10-10 20:47:12 +02:00
Ian Lynagh
4b73fed267
KE2: Add more dbscheme comments
2024-10-10 17:45:29 +01:00
Owen Mansel-Chan
d0f73acc25
Merge pull request #17709 from owen-mc/go/extractor/objecttypes-consistency-generics
...
Go: extractor/objecttypes consistency generics
2024-10-10 17:30:03 +01:00
Geoffrey White
b692b1b282
C++: Autoformat.
2024-10-10 17:26:38 +01:00
Geoffrey White
cedfeee6d7
Merge branch 'main' into aliasperf2
2024-10-10 17:25:45 +01:00
Tom Hvitved
5f353b72cd
Merge pull request #17727 from github/aibaars/modifiers
...
Rust: add extraction of all sorts of modifier tokens
2024-10-10 18:00:21 +02:00
Simon Friis Vindum
1398575b97
Merge pull request #17728 from paldepind/rust-remove-unused-types
...
Rust: Remove unused types
2024-10-10 17:33:59 +02:00
Geoffrey White
04c7319b6b
Merge pull request #17647 from geoffw0/warnings
...
Rust: More information about extractor errors and warnings
2024-10-10 16:19:15 +01:00
Geoffrey White
7420d07935
Update ruby/ql/lib/codeql/ruby/AST.qll
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2024-10-10 15:54:14 +01:00
Mathias Vorreiter Pedersen
e7da53d838
Merge pull request #17715 from MathiasVP/fopen-taint
...
C++: Add taint through `fopen`
2024-10-10 15:46:46 +01:00
Arthur Baars
6d43eed1e6
Rust: add QL doc for MacroStmts and MacroItems
2024-10-10 16:28:10 +02:00
Paolo Tranquilli
3ef49f31aa
Merge pull request #17725 from github/redsun82/fix-cwe-coverage-link
...
Docs: fix CWE coverage link in main index
2024-10-10 16:18:16 +02:00
Arthur Baars
f97a159163
Rust: clippy fixes
2024-10-10 15:53:16 +02:00
Arthur Baars
88e5ce3cf8
Rust: lower default verbosity to WARN
2024-10-10 15:53:15 +02:00
Arthur Baars
ca27785ace
Rust: extract files on a per-project basis
...
This way we have only one "project" database in-memory at a time. This
should avoid running out of memory when analyzing large mono-repos.
2024-10-10 15:53:14 +02:00
Arthur Baars
db28f1b29e
Rust: use macro to inject extraction functions for detached properties
2024-10-10 15:53:13 +02:00
Arthur Baars
8372a2e562
Rust: ensure error and token locations are valid
...
The locations are "clipped" to the ranges of the parent node of a token,
and the root node of the parse tree for errors.
2024-10-10 15:53:12 +02:00
Arthur Baars
58d2c71c20
Rust: load files from disk ourselves
...
This avoids problems with files containing invalid utf-8 data, which may cause
panic's like:
```
thread 'main' panicked at external/rules_rust~~_crate~ql~~r~r__ra_ap_salsa-0.0.232/src/input.rs:91:32:
no value set for CompressedFileTextQuery(FileId(2429))
stack backtrace:
0: rust_begin_unwind
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
1: core::panicking::panic_fmt
at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
2: <salsa::input::InputStorage<Q> as salsa::plumbing::QueryStorageOps<Q>>::fetch
3: <DB as ra_ap_base_db::SourceDatabase>::compressed_file_text::__shim
4: <ra_ap_base_db::FileTextQuery as salsa::plumbing::QueryFunction>::execute
5: salsa::Cycle::catch
6: salsa::derived_lru::slot::Slot<Q,MP>::execute
7: salsa::derived_lru::slot::Slot<Q,MP>::read
8: <salsa::derived_lru::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::fetch
9: <DB as ra_ap_base_db::SourceDatabase>::file_text::__shim
10: <DB as ra_ap_base_db::SourceDatabase>::file_text
11: <ra_ap_base_db::ParseQuery as salsa::plumbing::QueryFunction>::execute
12: salsa::Cycle::catch
13: salsa::derived_lru::slot::Slot<Q,MP>::execute
14: salsa::derived_lru::slot::Slot<Q,MP>::read
15: <salsa::derived_lru::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::fetch
16: <DB as ra_ap_base_db::SourceDatabase>::parse::__shim
17: <DB as ra_ap_base_db::SourceDatabase>::parse
18: ra_ap_hir::semantics::SemanticsImpl::parse
19: single_arch_extractor::main
```
2024-10-10 15:53:11 +02:00
Arthur Baars
f70f8a3536
Rust: fix utf8 test
2024-10-10 15:53:10 +02:00
Arthur Baars
1135bf6bcd
Rust: improve QL test script
2024-10-10 15:53:09 +02:00
Arthur Baars
3e877ffaac
Rust: do not fail on bad Cargo.toml files
2024-10-10 15:53:08 +02:00
Arthur Baars
ae19b2fd89
Rust: check that TextRanges are for the correct file
2024-10-10 15:53:07 +02:00
Arthur Baars
faa168993c
Rust: reduce log output
2024-10-10 15:53:06 +02:00
Arthur Baars
0c10f083cb
Rust: set RUST_BACKTRACE=1
2024-10-10 15:53:05 +02:00
Arthur Baars
796da126b8
Rust: update expected output
2024-10-10 15:52:57 +02:00
Arthur Baars
0b3b95ab54
Rust: macro expansion
2024-10-10 15:19:47 +02:00
Arthur Baars
cad2b74137
Rust: integrate Rust Analyzer's Semantic module into extractor
2024-10-10 15:19:46 +02:00
Arthur Baars
6ede20cccc
Rust: regenerate code
2024-10-10 15:19:45 +02:00
Arthur Baars
69f0e8bcf7
Rust: add MacroStmts and MacroItems
2024-10-10 15:19:43 +02:00
Arthur Baars
7986fc7036
Rust: avoid double '.' in trap extension
2024-10-10 15:19:42 +02:00
Cornelius Riemenschneider
396bf93ac0
Merge pull request #17716 from github/criemen/rules-kotlin-2.0.0
...
Upgrade rules_kotlin to 2.0.0.
2024-10-10 15:07:50 +02:00
Geoffrey White
8a895740ba
Ruby: Move language specific code out of FileSystem.qll (at least for now).
2024-10-10 14:05:39 +01:00
Owen Mansel-Chan
513efe222d
Add check for object for specialized named type
2024-10-10 13:59:51 +01:00
Owen Mansel-Chan
6f6b4a0bfe
Add check for specialized objects
2024-10-10 13:59:49 +01:00
Owen Mansel-Chan
d295cac697
Always use generic method object
2024-10-10 13:59:47 +01:00
Paolo Tranquilli
89f43fb917
Rust: generate code
2024-10-10 14:37:40 +02:00
Paolo Tranquilli
6015524589
Rust: insert FunctionOrMethodCallExpr in annotations
2024-10-10 14:34:24 +02:00
Paolo Tranquilli
c364fd7e56
Codegen: allow annotations to replace bases and drop fields
2024-10-10 14:33:06 +02:00
Tamas Vajk
7e8b20d200
KE2: Extract binary plus on numeric types
2024-10-10 14:30:24 +02:00
Arthur Baars
32e9881cfb
Rust: update expected output
2024-10-10 14:25:07 +02:00
Arthur Baars
30034b4254
Rust: run 'bazel //rust/codegen'
2024-10-10 14:25:06 +02:00
Arthur Baars
b80b6aafdd
Rust: extract modifier tokens as predicates
2024-10-10 14:25:05 +02:00
Tom Hvitved
4df9cd88ef
Merge pull request #17658 from hvitved/shared/cfg-conditional-splitting
...
Shared `ConditionalCompletionSplitting` implementation
2024-10-10 13:21:38 +02:00
Tamás Vajk
643419a32f
Merge pull request #17707 from tamasvajk/ke2-vari
...
KE2: Extract local variable declarations
2024-10-10 12:32:11 +02:00
Simon Friis Vindum
0c9a2896d8
Rust: Remove unused types
2024-10-10 11:47:58 +02:00
Cornelius Riemenschneider
b18f8d3935
Merge pull request #17714 from github/criemen/flip-enable-plus
...
Bazel: Flip --incompatible_use_plus_in_repo_names.
2024-10-10 11:06:19 +02:00
Cornelius Riemenschneider
6322270926
Merge branch 'main' into criemen/flip-enable-plus
2024-10-10 09:54:16 +02:00
Paolo Tranquilli
3711a7e3e6
Fix CWE coverage link in main index
...
Kudos to @aikenka for spotting this.
Closes https://github.com/github/codeql/issues/17723
2024-10-10 09:30:20 +02:00
Geoffrey White
25b3d76f71
Merge pull request #17718 from geoffw0/unusedvar4
...
Rust: Restrict variables to lowercase (for now).
2024-10-10 08:22:52 +01:00
Geoffrey White
09c2f901f4
Merge pull request #17525 from geoffw0/unreachable
...
Rust: Unreachable code query
2024-10-10 08:22:08 +01:00
Tom Hvitved
6a87eb0c73
Merge pull request #17696 from hvitved/rust/captured-variables
...
Rust: Account for captured variables
2024-10-09 19:42:03 +02:00
Mathias Vorreiter Pedersen
acac3a06ad
C++: Respond to review comments.
2024-10-09 17:32:37 +01:00
Geoffrey White
719cef8298
Merge branch 'main' into unreachable
2024-10-09 17:06:11 +01:00
Geoffrey White
5ac9c2db74
Rust: Accept variables test change.
2024-10-09 17:00:15 +01:00
Edward Minnix III
0abc0d1a67
Fix: ActiveThreatModelSource
2024-10-09 11:35:07 -04:00
Tom Hvitved
aa7215bbd5
Address review comments
2024-10-09 17:22:16 +02:00
Geoffrey White
dfeb35fe1a
Rust: Move the restriction to variableDecl.
2024-10-09 16:21:12 +01:00
Jeroen Ketema
8352d17e2c
Merge pull request #17693 from jketema/concepts
...
C++: Add a skeleton class for requires expressions
2024-10-09 16:54:33 +02:00
Geoffrey White
f171eeb229
Rust: Restrict 'unreachable' to nodes intended to be part of the CFG.
2024-10-09 15:37:10 +01:00
Rasmus Lerchedahl Petersen
6bd46148e7
Python: add change note
2024-10-09 16:27:52 +02:00
Geoffrey White
a66f31d844
Rust: Restrict variables to lowercase (for now).
2024-10-09 15:14:27 +01:00
Owen Mansel-Chan
500992c499
Update qhelp to explain possible source of FPs
2024-10-09 15:08:48 +01:00
Mathias Vorreiter Pedersen
6965cf7246
C++: Make ql-for-ql happy.
2024-10-09 15:05:13 +01:00
Cornelius Riemenschneider
4de0fefe86
Upgrade rules_kotlin to 2.0.0.
...
This is required for the bazel 8 upgrade, as one of the
incompatible-flag flips breaks 1.9.4.
2024-10-09 16:04:16 +02:00
Tamas Vajk
e82b1762c0
Apply code review findings
2024-10-09 16:02:54 +02:00
Jeroen Ketema
b087fdecfe
Merge pull request #17678 from MathiasVP/modernize-unclear-array-index-validation
...
C++: Modernize `cpp/unclear-array-index-validation`
2024-10-09 15:55:31 +02:00
Tom Hvitved
918e435a48
Merge pull request #17690 from hvitved/rust/ast-consistency-queries
...
Rust: Add AST consistency queries
2024-10-09 15:54:51 +02:00
Tom Hvitved
04d1c82005
Merge pull request #17689 from hvitved/rust/print-ast
...
Rust: `PrintAst` improvements
2024-10-09 15:54:30 +02:00
Mathias Vorreiter Pedersen
954235ecdd
C++: Add change note.
2024-10-09 14:42:36 +01:00
Mathias Vorreiter Pedersen
338e82064e
C++: Add a taint model for 'fopen' and accept test changes.
2024-10-09 14:40:26 +01:00
Mathias Vorreiter Pedersen
201842d2f9
C++: Add test with missing flow through 'fopen'.
2024-10-09 14:39:24 +01:00
Tamas Vajk
a471fa004a
KE2: Extract local variable declarations
2024-10-09 15:19:42 +02:00
Mathias Vorreiter Pedersen
61a012fc6c
C++: Don't allow 'x < 0' as a barrier guard.
2024-10-09 14:17:56 +01:00
Tamás Vajk
01c71ba8d6
Merge pull request #17706 from tamasvajk/ke2-is-as
...
KE2: Extract `is` and `as` expression kinds
2024-10-09 15:17:50 +02:00
Mathias Vorreiter Pedersen
c883aa09f8
Update cpp/ql/src/change-notes/2024-10-07-unclear-array-index-validation.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-10-09 13:45:18 +01:00
Ian Lynagh
e0596905f9
Merge pull request #17685 from igfoo/igfoo/types
...
KE2: Don't call buildClassType; once we get into symbol land, stay there
2024-10-09 13:27:28 +01:00
Michael Nebel
79871aa51e
Merge pull request #17687 from michaelnebel/modelgen/removeduplicatedf
...
C#/Java: Avoid `df` and `dfc` overlap in model generation.
2024-10-09 14:04:31 +02:00
Cornelius Riemenschneider
4c21444dd5
Bazel: Flip --incompatible_use_plus_in_repo_names.
...
We've hardcoded the tilde in a lot of places :(
This improves performance on Windows and gets us ready for Bazel 8.
We need an upgrade of rules_rust for this to work.
2024-10-09 14:04:05 +02:00
Geoffrey White
ed39c465a6
Merge pull request #17710 from geoffw0/unusedvar3
...
Rust: More test cases for unused variables
2024-10-09 12:44:58 +01:00
Tamas Vajk
7ff60f8081
Fix extracted child expression
2024-10-09 13:39:07 +02:00
Ian Lynagh
cdf96276c8
KE2: Add a TODO comment
2024-10-09 12:28:51 +01:00
Ian Lynagh
171f68f6d9
Merge pull request #17702 from igfoo/igfoo/dbscheme
...
KE2: Add more dbscheme comments
2024-10-09 12:13:36 +01:00
Michael Nebel
5d4ceeebb5
Shared: Only generate df summary model in the mixed query in case no context sensitive model exist.
2024-10-09 13:04:32 +02:00
Geoffrey White
f3d727fadc
Rust: Correct spurious annotations.
2024-10-09 11:52:24 +01:00
Geoffrey White
fa1c92dbe7
Rust: Another case worth having.
2024-10-09 11:50:29 +01:00
Rasmus Lerchedahl Petersen
0ac4a10345
Python: model that finditer returns iterable of re.Match objects
2024-10-09 12:42:38 +02:00
Rasmus Lerchedahl Petersen
494b8bd7e1
python: model string property of resultof finditer
2024-10-09 12:40:47 +02:00
Rasmus Lerchedahl Petersen
073189ed6b
python: add test for re.Match objects returned from finditer
2024-10-09 12:32:51 +02:00
Geoffrey White
7a6eabc8a3
Rust: Additional test cases.
2024-10-09 11:31:44 +01:00
yoff
6ffdf576d0
Merge pull request #17708 from yoff/python/ignore-extractor-test-output
...
Python: ignore some extractor test output
2024-10-09 12:31:42 +02:00
yoff
0b0e8a4bf5
Update python/extractor/tests/parser/.gitignore
...
As suggested by @tausbn
2024-10-09 12:22:17 +02:00
Chris Smowton
58fd1a2241
Merge pull request #17357 from smowton/smowton/feature/go-indistinguishable-types
...
Go: extract and expose struct tags, interface method IDs
2024-10-09 11:06:02 +01:00
Rasmus Lerchedahl Petersen
ad630bc6ff
Python: ignore some extractor test output
...
If you test the extractor locally, you want to ignore these files.
2024-10-09 11:34:58 +02:00
Jeroen Ketema
4d251b96a6
C++: Fix copy&paste error in QLDoc
2024-10-09 11:24:08 +02:00
Tom Hvitved
bdb793ba92
Swift: Adopt shared ConditionalCompletionSplitting implementation
2024-10-09 11:02:18 +02:00
Tom Hvitved
3a098d7449
Ruby: Adopt shared ConditionalCompletionSplitting implementation
2024-10-09 11:02:17 +02:00
Tom Hvitved
5d925d36d3
C#: Adopt shared ConditionalCompletionSplitting implementation
2024-10-09 11:02:15 +02:00
Tom Hvitved
3d95369608
Shared ConditionalSplitting implementation
2024-10-09 11:02:13 +02:00
Tom Hvitved
11016e193c
Rust: PrintAst improvements
2024-10-09 10:41:30 +02:00
Geoffrey White
41218fb89f
Rust: Test spacing / variable names.
2024-10-09 09:17:24 +01:00
Tom Hvitved
5afd2d5bf0
Rust: Account for captured variables
2024-10-09 10:17:01 +02:00
Tom Hvitved
a3a0c2b269
Rust: Add more variable tests
2024-10-09 10:17:00 +02:00
Tom Hvitved
9952997b48
Shared: Add DenseRank library
2024-10-09 10:16:59 +02:00
Jeroen Ketema
f3cbf86c43
Merge pull request #17703 from jketema/odr-test
...
C++: Fix ODR violations in tests
2024-10-09 10:16:24 +02:00
Tamas Vajk
a232fcab36
KE2: Extract is and as expression kinds
2024-10-09 09:40:24 +02:00
Jeroen Ketema
723236d15b
C++: Add a skeleton class for requires expressions
2024-10-09 02:16:20 +02:00
Jeroen Ketema
c90d0faaf6
C++: Fix ODR violations in dataflow tests
2024-10-08 20:34:20 +02:00
Chris Smowton
837387aeae
Re-optimise isSensitive routine
2024-10-08 19:23:31 +01:00
Chris Smowton
629a7a601d
Further optimise guardingFunction: remove redundant condition, and order guard -> guardFunction case to work backwards from interesting return sites, allowing us to go backwards not forwards through BasicBlock::dominates
2024-10-08 19:23:30 +01:00
Chris Smowton
d401891d30
copyedit
2024-10-08 19:23:29 +01:00
Chris Smowton
c79da8b2b5
Avoid pathological case where getExampleMethodName picks a very common method name
2024-10-08 19:23:28 +01:00
Chris Smowton
ed9a6bd820
Further join order optimisations
2024-10-08 19:23:27 +01:00
Chris Smowton
bf5ba33c2e
Improve join orders for top 5 perf regressions in QA
2024-10-08 19:23:26 +01:00
Chris Smowton
365ccf4903
autoformat
2024-10-08 19:23:25 +01:00
Chris Smowton
36a031833f
Further optimisation
2024-10-08 19:23:24 +01:00
Chris Smowton
ab99509a11
Rework interface for querying private interface method ids
2024-10-08 19:23:22 +01:00
Chris Smowton
0f95a8d724
Clarify doc
2024-10-08 19:23:21 +01:00
Chris Smowton
288e0ec565
component_tags -> struct_tags
2024-10-08 19:23:20 +01:00
Chris Smowton
c1a1edf24e
Autoformat
2024-10-08 19:23:19 +01:00
Chris Smowton
74cba9056b
Optimise join orders
2024-10-08 19:23:18 +01:00
Chris Smowton
d04a0f4b87
Add note explaining how to regenerate dbscheme
2024-10-08 19:23:17 +01:00
Chris Smowton
1511927a2b
Remove unnecessary table population on upgrade
2024-10-08 19:23:15 +01:00
Chris Smowton
fd615fb7a3
Prevent bad magic
2024-10-08 19:23:14 +01:00
Chris Smowton
442e58188b
Update stats
2024-10-08 19:23:13 +01:00
Chris Smowton
e1963a5fcd
autoformat
2024-10-08 19:23:12 +01:00
Chris Smowton
7a7ff4a91e
Apply review comments
2024-10-08 19:23:11 +01:00
Chris Smowton
5d14070cd4
Fix test file
2024-10-08 19:23:10 +01:00
Chris Smowton
22ed2f9ae3
Autoformat CodeQL
2024-10-08 19:23:09 +01:00
Chris Smowton
9bb2a4bfce
Change note
2024-10-08 19:23:07 +01:00
Chris Smowton
dcbb66d366
Go: extract and expose struct tags, interface method IDs
...
This enables us to distinguish all database types in QL. Previously structs with the same field names and types but differing tags, and interface types with matching method names and at least one non-exported method but declared in differing packages, were impossible or only sometimes possible to distinguish in QL. With this change these types can be distinguished, as well as permitting queries to examine struct field tags, e.g. to read JSON field name associations.
2024-10-08 19:23:06 +01:00
Jeroen Ketema
f1e22687ab
C++: Fix ODR violations in tests
...
In QLtest we do not have linkage awareness, so having multiple functions with
the same name in the same test causes ODR violations.
2024-10-08 20:09:31 +02:00
yoff
1f1b1b7aab
Merge pull request #17653 from yoff/python/typetracking-through-comprehensions
2024-10-08 19:39:21 +02:00
Ian Lynagh
2cb2aabceb
Merge pull request #17698 from igfoo/igfoo/labels
...
KE2: Update github labeler config
2024-10-08 18:23:58 +01:00
Ian Lynagh
135ea99b65
KE2: Add more dbscheme comments
2024-10-08 17:32:23 +01:00
Taus
3c1a19c5ab
Merge pull request #17700 from github/tausbn/update-cors-query-change-note-and-tags
...
Python: Update CORS query tags and change note
2024-10-08 18:05:30 +02:00
Taus
92bca9c268
Python: Update CORS query tags and change note
...
Makes it more clear that the query is experimental.
2024-10-08 15:44:29 +00:00
Florin Coada
98f52589b0
Merge pull request #17684 from github/changedocs/2.19.1
...
Adding unified changelog for 2.19.1
2024-10-08 16:41:18 +01:00
Ian Lynagh
5edf520439
Merge pull request #17695 from igfoo/igfoo/nulltype
...
KE2: Handle null types (emit errortypes)
2024-10-08 15:54:20 +01:00
Ian Lynagh
174e7f625d
Merge pull request #17692 from igfoo/igfoo/unused
...
KE2: Remove some dead code
2024-10-08 15:54:02 +01:00
Ian Lynagh
141377a038
Merge pull request #17697 from igfoo/igfoo/callDescription
...
KE2: Fix use of the wrong variable in log output
2024-10-08 15:53:30 +01:00
Ian Lynagh
862293ae3e
KE2: Update github labeler config
2024-10-08 15:37:07 +01:00
Ian Lynagh
780fc699fd
KE2: Fix use of the wrong variable in log output
2024-10-08 15:33:28 +01:00
Tom Hvitved
fcf1b6d6f5
Merge pull request #17657 from hvitved/rust/cfg-conditional-splitting
...
Rust: Implement `ConditionalCompletionSplitting`
2024-10-08 16:21:14 +02:00
Ian Lynagh
565e780285
KE2: Handle null types (emit errortypes)
2024-10-08 15:18:15 +01:00
Geoffrey White
7ff376b346
Merge branch 'main' into aliasperf2
2024-10-08 15:08:43 +01:00
Geoffrey White
4a131dd8f1
C++: Implement dbartol's suggestion.
2024-10-08 14:44:45 +01:00
Geoffrey White
f9fa52fe77
C++: Disabled the change again.
2024-10-08 14:43:56 +01:00
Ian Lynagh
b61799fc1d
KE2: Remove some dead code
2024-10-08 14:26:55 +01:00
Tom Hvitved
08d6d54961
Rust: Add AST consistency queries
2024-10-08 15:00:38 +02:00
Geoffrey White
70d530a49c
Rust: Exclude nodes that aren't part of the CFG.
2024-10-08 13:52:15 +01:00
Geoffrey White
a7dbe29448
Rust: Add parenthesis example to test.
2024-10-08 13:50:17 +01:00
Geoffrey White
7235ba8f91
Rust: Fix test compilation errors.
2024-10-08 13:38:33 +01:00
Geoffrey White
3b1d917c2b
Rust: Autoformat.
2024-10-08 13:30:28 +01:00
Ian Lynagh
5c76b43fa8
KE2: Don't call buildClassType; once we get into symbol land, stay there
2024-10-08 13:14:11 +01:00
Ian Lynagh
135e909d5e
KE2: Remove some 'types' code from the 'class' file
2024-10-08 12:56:00 +01:00
Tom Hvitved
cb1ca4c75c
Update rust/ql/lib/codeql/rust/controlflow/internal/Completion.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-10-08 13:41:24 +02:00
Arthur Baars
4ab925507d
Merge pull request #17682 from github/redsun82/rust-codegen
...
Rust: integrate rust code generation into `//rust/codegen`
2024-10-08 13:23:20 +02:00
Geoffrey White
6bde26d9fd
Rust: Switch firstUnreachable to hvitved's suggested implementation.
2024-10-08 12:07:44 +01:00
Geoffrey White
5d7a92cf13
Rust: Add example from discussion.
2024-10-08 12:00:53 +01:00
Geoffrey White
40096ebb62
Rust: More cleanup after merge.
2024-10-08 11:46:45 +01:00
Geoffrey White
9e3f4cd183
Rust: Accept test changes after merging main.
2024-10-08 11:43:31 +01:00
Geoffrey White
483370d5f4
Merge branch 'main' into unreachable
2024-10-08 11:40:03 +01:00
Geoffrey White
f084bb7bcf
Rust: A couple of interesting cases with short-circuiting.
2024-10-08 11:38:23 +01:00
Ian Lynagh
15348dc15b
Merge pull request #17675 from igfoo/igfoo/comments
...
KE2: Add some Java dbscheme and library comments
2024-10-08 11:32:33 +01:00
Ian Lynagh
34557203a0
Merge pull request #17677 from igfoo/igfoo/types
...
KE2: Pull type extraction out as separate from class extraction
2024-10-08 11:32:22 +01:00
Florin Coada
36937a0988
Adding unified changelog for 2.19.1
2024-10-08 11:28:15 +01:00
Jonas Jensen
51d189d30d
Merge pull request #17556 from d10c/d10c/bigint-docs
...
BigInt Documentation
2024-10-08 11:46:58 +02:00
Jeroen Ketema
3d6965a550
Merge pull request #17665 from jketema/printir-doc
...
C++: Add some documentation on the printed IR
2024-10-08 11:09:56 +02:00
Mathias Vorreiter Pedersen
b00c545799
C++: Add change notes.
2024-10-08 10:08:16 +01:00
Mathias Vorreiter Pedersen
d6618edf01
C++: Accept test changes.
2024-10-08 10:08:14 +01:00
Mathias Vorreiter Pedersen
f7392d6498
C++: Range analysis of 'getc'.
2024-10-08 10:08:13 +01:00
Mathias Vorreiter Pedersen
6ca978e1cc
C++: Add FP test.
2024-10-08 10:08:12 +01:00
Mathias Vorreiter Pedersen
823d5acd69
C++: Spacing.
2024-10-08 10:05:11 +01:00
Mathias Vorreiter Pedersen
8bb21e1b49
C++: Accept test changes.
2024-10-08 10:05:10 +01:00
Mathias Vorreiter Pedersen
a2cdb9c173
C++: Use range analysis at the sink to exclude trivial FPs.
2024-10-08 10:05:08 +01:00
Mathias Vorreiter Pedersen
c3d9ea1820
C++: Add FP.
2024-10-08 10:05:07 +01:00
Mathias Vorreiter Pedersen
afb5e4f841
C++: Add test spacing.
2024-10-08 10:05:06 +01:00
Mathias Vorreiter Pedersen
f6f5f5d4b4
C++: Accept test changes.
2024-10-08 10:05:04 +01:00
Mathias Vorreiter Pedersen
c9bd9e9303
C++: Modernize the 'cpp/unclear-array-index-validation' query by getting rid of the DefaultTaintTracking barriers and replacing them with a 'BarrierGuard' instantiation.
2024-10-08 10:05:03 +01:00
Paolo Tranquilli
61c3aa6288
Rust: integrate rust code generation into //rust/codegen
2024-10-08 10:37:53 +02:00
Tamás Vajk
7c3fb3262d
Merge pull request #17664 from tamasvajk/ke2-extract-some-expr
...
KE2: Extract some expr/stmt kinds
2024-10-08 10:17:21 +02:00
Nora Dimitrijević
328f322692
BigInt documentation
2024-10-08 10:15:06 +02:00
Nora Dimitrijević
26ac84aa6e
Fix trailing whitespace in docs
2024-10-08 10:15:03 +02:00
Paolo Tranquilli
96dda8808c
Rust: rename generate-schema -> ast-generator
2024-10-08 10:03:00 +02:00
Asger F
5a4cd1c578
Merge pull request #17661 from asgerf/shared/js-useuse-ssa-changes
...
SSA: Add BarrierGuardWithState
2024-10-08 08:27:18 +02:00
Jeroen Ketema
ed266dac5f
C++: Address review comments
2024-10-07 22:42:18 +02:00
Ian Lynagh
9ef185ad6f
KE2: Fix build
2024-10-07 18:42:41 +01:00
Ian Lynagh
56fc16c9f5
KE2: Pull more type extraction out into Types.kt
2024-10-07 18:40:58 +01:00
Ian Lynagh
cc09d6da5f
KE2: Pull type extraction out as separate from class extraction
2024-10-07 18:29:50 +01:00
Ian Lynagh
b003eb16cc
KE2: Add some Java dbscheme and library comments
2024-10-07 16:35:46 +01:00
Asger F
1ce0ba5083
SSA: Make WithState private
2024-10-07 14:48:28 +02:00
Ian Lynagh
b46be1b71a
Merge pull request #17667 from igfoo/igfoo/conc
...
KE2: Be concurrency-safe (hopefully!) and enable concurrency
2024-10-07 12:04:19 +01:00
Michael B. Gale
9bfd461fad
Merge pull request #17669 from github/dependabot/go_modules/go/extractor/extractor-dependencies-ae022431d0
...
Bump golang.org/x/tools from 0.25.0 to 0.26.0 in /go/extractor in the extractor-dependencies group
2024-10-07 11:44:05 +01:00
dependabot[bot]
26f8e64a35
Bump golang.org/x/tools
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/tools` from 0.25.0 to 0.26.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-07 09:26:56 +00:00
Chris Smowton
770774ed52
Merge pull request #17671 from hvitved/go/fix-tests
...
Go: Update expected test output
2024-10-07 09:23:59 +01:00
Tom Hvitved
c15749f342
Merge pull request #17672 from hvitved/swift/fix-test
...
Swift: Update expected test output
2024-10-07 10:07:20 +02:00
Tom Hvitved
6196fd2cc1
Swift: Update expected test output
2024-10-07 09:45:08 +02:00
Arthur Baars
c04315a7cf
Merge pull request #17670 from hvitved/ruby/fix-test
...
Ruby: Fix expected test output
2024-10-07 09:44:51 +02:00
Tom Hvitved
16feaf15e2
Go: Update expected test output
2024-10-07 09:23:39 +02:00
Tom Hvitved
f1afa2bf59
Ruby: Fix expected test output
2024-10-07 09:16:12 +02:00
Owen Mansel-Chan
927b402a3a
Merge pull request #17668 from igfoo/igfoo/typo
...
Java: Typo in a comment
2024-10-06 13:22:08 +01:00
Ian Lynagh
d24bdbb4e4
Java: Typo in a comment
2024-10-04 17:34:39 +01:00
Ian Lynagh
3aaeefad92
KE2: Enable 8 threads
2024-10-04 16:20:21 +01:00
Ian Lynagh
fd3ac0b838
KE2: Use a semaphore to avoid more than maxThreads open TRAP files at once
2024-10-04 16:19:51 +01:00
Ian Lynagh
f5033d1e88
KE2: Make the shared stuff threadsafe
2024-10-04 16:11:26 +01:00
Tamas Vajk
aa5fa12b4f
Add TODO comment
2024-10-04 16:38:09 +02:00
yoff
6bb98b02a8
Merge pull request #17577 from yoff/python/add-comprehension-capture-flow
...
python: capture flow through comprehensions
2024-10-04 15:51:06 +02:00
Jeroen Ketema
b8eb2ab100
C++: Add some documentation on the printed IR
2024-10-04 15:37:22 +02:00
Rasmus Lerchedahl Petersen
6f5b949ec8
Python: adjust test expectations
...
note that we do retain precision in
`test_dict_from_keyword()`
2024-10-04 15:30:02 +02:00
Tom Hvitved
04a4fb2143
Merge pull request #17655 from hvitved/rust/variable-mut
...
Rust: `&(mut) x` is neither a read nor a write
2024-10-04 15:29:36 +02:00
Rasmus Lerchedahl Petersen
a4c1a622b7
Merge branch 'main' of https://github.com/github/codeql into python/add-comprehension-capture-flow
2024-10-04 14:53:03 +02:00
Tom Hvitved
50c2d108ca
Rust: Fix CompoundAssignmentExpr charpred
2024-10-04 14:48:07 +02:00
yoff
306b087b6e
Merge pull request #17566 from yoff/python/dict-can-take-multiple-args
...
Python: All dict constructor args are relevant
2024-10-04 14:30:10 +02:00
Rasmus Lerchedahl Petersen
977767b0d6
Python: comment around dictionary comprehensions
2024-10-04 14:14:30 +02:00
Rasmus Lerchedahl Petersen
201c4aad13
Python: add comment
2024-10-04 14:09:33 +02:00
yoff
c064a9e092
Update python/ql/lib/semmle/python/frameworks/Stdlib.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-04 14:01:18 +02:00
Tamas Vajk
cc1f1dd473
KE2: Extract some expr/stmt kinds
2024-10-04 13:35:30 +02:00
Tamás Vajk
8711099de2
Merge pull request #17662 from tamasvajk/ke2-expressions-separate
...
KE2: Move expr/stmt extraction to separate file
2024-10-04 12:48:58 +02:00
Tom Hvitved
db5e452178
Merge pull request #17536 from hvitved/ql-test-source-root
...
Adapt to `sourceLocationPrefix` change in `qltest`
2024-10-04 12:48:51 +02:00
Tamas Vajk
bb32ebb304
KE2: Move expr/stmt extraction to separate file
2024-10-04 11:42:42 +02:00
Michael Nebel
c629867191
Merge pull request #17654 from michaelnebel/modelgen/mixedbugfix
...
C#/Java: Only use heuristic if no content based model exist (in mixed mode).
2024-10-04 10:28:49 +02:00
Tom Hvitved
d0ca39fb03
JS: Update expected test output
2024-10-04 08:35:33 +02:00
Tom Hvitved
b3b9406e45
Python: Update test
2024-10-04 08:35:32 +02:00
Tom Hvitved
953461d1aa
C++: Update expected test output
2024-10-04 08:35:31 +02:00
Tom Hvitved
bf0675e5ba
Kotlin: Update two tests
2024-10-04 08:35:30 +02:00
Tom Hvitved
2832318711
Java: Account for top-level res folders in AndroidLayoutXmlFile
2024-10-04 08:35:28 +02:00
Tom Hvitved
aa5e0c39ba
Rust: Implement ConditionalCompletionSplitting
2024-10-03 21:25:50 +02:00
Tom Hvitved
a9cf33ce18
Rust: &x is neither a read nor a write
2024-10-03 20:20:59 +02:00
Angela P Wen
8542992b0d
Merge pull request #17651 from github/post-release-prep/codeql-cli-2.19.1
...
Post-release preparation for codeql-cli-2.19.1
2024-10-03 11:18:54 -07:00
Tom Hvitved
05f85497ed
Rust: Add &mut variable tests
2024-10-03 19:55:07 +02:00
Geoffrey White
d4414dabff
Ruby: Add change notes.
2024-10-03 17:40:18 +01:00
Geoffrey White
86cc2dc5a1
Ruby: Add rb/diagnostics/extraction-warnings so that we don't miss anything we had before.
2024-10-03 17:40:17 +01:00
Geoffrey White
1ea94faccf
Ruby: Make similar changes to differentiate extraction errors and warnings, and mostly restore original behaviour.
2024-10-03 17:39:56 +01:00
Geoffrey White
4c7ec59306
Ruby: Sync identical files.
2024-10-03 17:17:37 +01:00
Chris Smowton
321eb34eff
Merge pull request #17637 from smowton/smowton/admin/go-test-extraction-tests
...
Go: augment test-extraction tests
2024-10-03 16:06:53 +01:00
Geoffrey White
2e772a80c4
Rust: Accept minor consistency .expected changes.
2024-10-03 15:15:32 +01:00
Geoffrey White
64720adccb
Merge pull request #17656 from geoffw0/unusedvar2
...
Rust: Diagnose unused variable false positives
2024-10-03 14:56:27 +01:00
Michael Nebel
7600c243de
Merge pull request #17639 from felickz/patch-1
...
Update Comment - Clarify threat model flow sources comment in LogForgingQuery.qll
2024-10-03 15:51:40 +02:00
Geoffrey White
369241e1ea
Merge pull request #5 from hvitved/unusedvar2
...
Rust: Account for variables bound in `while let` expressions
2024-10-03 14:04:38 +01:00
Geoffrey White
ccaf2dd9ea
Rust: Temporarily limit results (hopefully enough for the DCA job to cope).
2024-10-03 13:44:04 +01:00
yoff
88b3d1ffd7
Merge pull request #17565 from yoff/python/model-urllib-parse-parse-qs
...
Python: model `urllib.parse.parse_qs`
2024-10-03 14:32:08 +02:00
Tom Hvitved
cd04500dd9
Rust: Account for variables bound in while let expressions
2024-10-03 14:05:24 +02:00
Geoffrey White
3c777b7605
Merge branch 'main' into warnings
2024-10-03 12:54:56 +01:00
Geoffrey White
32dbdb3913
Rust: Update summary stats .expected file.
2024-10-03 12:50:59 +01:00
Ian Lynagh
d6189073d6
Merge pull request #17645 from igfoo/igfoo/top
...
KE2: Refactor the top level a bit
2024-10-03 12:50:42 +01:00
Geoffrey White
da84889242
Rust: Use @diagnostic_error, @diagnostic_warning rather than constants.
2024-10-03 12:50:40 +01:00
Asger F
9902874ddd
SSA: Add BarrierGuardWithState
2024-10-03 13:48:44 +02:00
Geoffrey White
0304aa846c
Rust: Add more tests for uused variables.
2024-10-03 12:37:02 +01:00
Rasmus Lerchedahl Petersen
777279dc29
Python: MaD test expectations
2024-10-03 13:29:56 +02:00
Geoffrey White
821398715c
Rust: Test spacing.
2024-10-03 11:55:11 +01:00
Ian Lynagh
a1c4413563
KE2: Clarify a 2-stage TODO comment
2024-10-03 11:54:39 +01:00
Rasmus Lerchedahl Petersen
768d866e72
python: model urllib.parse.parse_qs
2024-10-03 12:20:40 +02:00
Rasmus Lerchedahl Petersen
0462809edc
Python: add taint test for urllib
2024-10-03 12:20:38 +02:00
Rasmus Lerchedahl Petersen
5c68bad2f1
Python: add comments
2024-10-03 12:17:59 +02:00
yoff
91f1cf10a7
Merge pull request #17454 from yoff/stdlib-optparse
...
Python: Several standard library models
2024-10-03 12:02:22 +02:00
Tom Hvitved
97c2387904
Merge pull request #17644 from hvitved/rust/break-continue-target
2024-10-03 11:38:27 +02:00
yoff
56d0affe38
Update python/ql/lib/semmle/python/frameworks/Stdlib.model.yml
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-03 10:18:25 +02:00
Rasmus Lerchedahl Petersen
6d486f9931
Python: move change note to the right place
2024-10-03 10:15:55 +02:00
Rasmus Lerchedahl Petersen
9e808c17af
Python: add change note
2024-10-03 10:09:59 +02:00
Rasmus Lerchedahl Petersen
0dc036abd1
Python: Allow type tracking through comprehensions
...
- the subscript operator is extended to comprehensions
- the capture jump-step is extended to work for the functions generated inside comprehensions
2024-10-03 09:31:02 +02:00
github-actions[bot]
98d587c482
Post-release preparation for codeql-cli-2.19.1
2024-10-02 22:40:35 +00:00
Angela P Wen
569b650916
Merge pull request #17649 from github/release-prep/2.19.1
...
Release preparation for version 2.19.1
2024-10-02 11:36:20 -07:00
github-actions[bot]
fe54961b84
Release preparation for version 2.19.1
2024-10-02 18:30:42 +00:00
Angela P Wen
b16ba61fcb
Merge pull request #17636 from github/revert-17629-release-prep/2.19.1
...
Revert "Release preparation for version 2.19.1"
2024-10-02 11:27:40 -07:00
Geoffrey White
88abc8f72f
Rust: Add to summary stats.
2024-10-02 18:43:26 +01:00
Geoffrey White
a4c06b2bbc
Rust: Define SuccessfullyExtractedFile and use it to simplify queries.
2024-10-02 18:43:25 +01:00
Geoffrey White
12fbd18f3a
Rust: Have ExtractionConsistency.ql report both.
2024-10-02 18:43:24 +01:00
Geoffrey White
ad7c96554f
Rust: Correct extraction errors query to output only errors.
2024-10-02 18:43:15 +01:00
Geoffrey White
f30a642c8f
Rust: Add a test for the extractor warnings query.
2024-10-02 18:42:37 +01:00
Geoffrey White
ba9c2f1e3a
Rust: Add extractor warnings query.
2024-10-02 18:42:32 +01:00
Geoffrey White
f7db47b771
Merge pull request #17588 from geoffw0/loc2
...
Rust: Improve lines-of-code counts.
2024-10-02 18:13:36 +01:00
Geoffrey White
0b6ec4624e
Rust: Autoformat.
2024-10-02 17:05:01 +01:00
Geoffrey White
d6848f5c5d
Rust: Apparently a doc comment here was illegal.
2024-10-02 17:00:28 +01:00
Geoffrey White
01abcf8537
Rust: Use just end locations for now, to avoid all false positive lines caused by attached comments.
2024-10-02 16:54:02 +01:00
Geoffrey White
8c87b66bea
Rust: Add more test cases for comments.
2024-10-02 16:52:19 +01:00
Ian Lynagh
4701bc7aef
KE2: Make concurrent extraction possible
2024-10-02 16:42:24 +01:00
Ian Lynagh
5be65ffead
KE2: Only call analyze once, on the sourceModule
2024-10-02 16:29:56 +01:00
Ian Lynagh
f63273a531
Merge pull request #17622 from igfoo/igfoo/ke2-comments
...
Java/Kotlin: Add some dbscheme comments
2024-10-02 16:14:51 +01:00
Chris Smowton
05d2e16de3
autoformat
2024-10-02 15:25:36 +01:00
Tom Hvitved
6da3972433
Rust: Simplify break/continue CFG labels
2024-10-02 15:45:18 +02:00
Tom Hvitved
1266f9757d
Rust: Add {BreakExpr,ContinueExpr}.getTarget()
2024-10-02 15:45:16 +02:00
Tom Hvitved
000dedf3e8
Rust: Output CFG for library-tests/variables
2024-10-02 15:45:14 +02:00
Tom Hvitved
d6415cd0c8
Merge pull request #17642 from hvitved/rust/unused-variable
...
Rust: Implement `UnusedVariable.ql`
2024-10-02 15:41:24 +02:00
Michael Nebel
51623c3837
Java: Consider all summarized callable with generated verification as generated when counting generated vs manual.
2024-10-02 15:24:01 +02:00
Michael Nebel
104d448b16
Shared: Only use heuristic summary flow in case there is no content based flow.
2024-10-02 15:24:01 +02:00
Ian Lynagh
e0d157277c
Java: Improve files/folder qldoc
2024-10-02 14:03:31 +01:00
Tom Hvitved
3a1f6efce4
Address review comments
2024-10-02 13:37:24 +02:00
Geoffrey White
8243f87179
Rust: Modify the exclusion as suggested in comments.
2024-10-02 11:38:29 +01:00
Tom Hvitved
fb9ec2423c
Rust: Implement UnusedVariable.ql
2024-10-02 11:22:32 +02:00
Tom Hvitved
3fa52ad680
Merge pull request #17633 from hvitved/rust/cfg-fixes
...
Rust: More CFG modelling
2024-10-02 11:21:53 +02:00
Tom Hvitved
9c7216fe4f
Rust: Add another CFG test
2024-10-02 10:59:26 +02:00
Tom Hvitved
69e0ad0181
Rust: Refactor CFG implementation for loops
2024-10-02 10:55:52 +02:00
Calum Grant
8b536f54fd
Merge pull request #17481 from github/calumgrant/bmn/uninitialized-local
...
C++: Remove FPs from cpp/uninitialized-local when encountered extraction errors
2024-10-02 09:29:15 +01:00
Calum Grant
d3695dce4d
C++: Add change note
2024-10-02 08:14:23 +01:00
Chad Bentz
2458d16426
Clarify threat model flow sources comment in LogForgingQuery.qll
2024-10-01 23:04:22 -04:00
Ed Minnix
f8335e6163
Fix formatting
2024-10-01 15:58:07 -04:00
Edward Minnix III
91b7a6cbd8
Wording of change note
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2024-10-01 15:56:43 -04:00
Edward Minnix III
1f932d407f
Remove unnecessary asExpr()
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2024-10-01 15:56:42 -04:00
Ed Minnix
26b49dd0df
Fix test expectation
2024-10-01 15:56:40 -04:00
Ed Minnix
d80a1487be
Add change note
2024-10-01 15:56:37 -04:00
Ed Minnix
e18389718c
Implement stdin models
...
Unfortunately due to how variable and varargs work, these are better
done in QL
2024-10-01 15:56:31 -04:00
Tom Hvitved
8f0b7f0969
Rust: Use propagatesAbnormal in two places
2024-10-01 21:49:08 +02:00
Tom Hvitved
c4eafb2cf3
Rust: Skip ParenExprs in the CFG
2024-10-01 21:26:49 +02:00
Tom Hvitved
8b66dc16ad
Rust: Fix CFG for labelled block expressions
2024-10-01 21:03:36 +02:00
Tom Hvitved
e8cb3490e6
Rust: Refine deadEnd consistency check
2024-10-01 21:02:55 +02:00
Tom Hvitved
85957767c9
Rust: Fix CFG for while let loops
2024-10-01 21:02:17 +02:00
Tom Hvitved
071076875c
Rust: Make more CFG nodes leaves
2024-10-01 21:01:56 +02:00
Tom Hvitved
26c69b8f8a
Rust: Add more CFG tests
2024-10-01 21:01:49 +02:00
Tom Hvitved
bbd0aa929f
Rust: Add more missing CFG trees
2024-10-01 21:01:26 +02:00
Tom Hvitved
17770af491
Rust: Account for let statement else blocks in deadEnd
2024-10-01 21:00:39 +02:00
Tom Hvitved
a507854288
Rust: Fix bug in BooleanCompletion.isValidForSpecific0
2024-10-01 21:00:33 +02:00
Tom Hvitved
8c1fd8fa7a
Rust: Implement CFG for ForExprs
2024-10-01 21:00:09 +02:00
Tom Hvitved
f3e3734424
Rust: Implement CFG for WhileExprs
2024-10-01 20:59:41 +02:00
Tom Hvitved
5444a5bf8a
Rust: Extend while and for CFG tests
2024-10-01 20:59:13 +02:00
Angela P Wen
e8dd6a88e7
Revert "Release preparation for version 2.19.1"
2024-10-01 10:19:28 -07:00
Geoffrey White
3a54c10f36
Rust: For now exclude top-level AST elements from LOC counts. This is not ideal.
2024-10-01 17:35:30 +01:00
Tom Hvitved
5fb61b0304
Merge pull request #17606 from hvitved/rust/variables
2024-10-01 18:13:32 +02:00
Ian Lynagh
6af5afc184
Merge pull request #17634 from igfoo/igfoo/implicit_param_name
...
Java: Add a test for parameter names
2024-10-01 17:03:18 +01:00
Calum Grant
cd1f10cdea
C++: Reinstate accidentally-deleted comment
2024-10-01 16:15:24 +01:00
Geoffrey White
74826032ef
Merge branch 'main' into loc2 and accept new test results.
2024-10-01 16:10:39 +01:00
Chris Smowton
6ef2aed3aa
Add blackbox, out-of-package test
2024-10-01 15:52:30 +01:00
Chris Smowton
9a82ea48f2
Add test for cross-package references with test extraction
2024-10-01 15:50:43 +01:00
Rasmus Lerchedahl Petersen
315890680c
Python: dict only has one positional argument
2024-10-01 16:48:43 +02:00
Calum Grant
a9b3c0d91b
C++: Address review comments
2024-10-01 15:47:12 +01:00
Rasmus Lerchedahl Petersen
38b1eb7c71
Python: just use ListElementContent for iterables
2024-10-01 16:24:15 +02:00
Ian Lynagh
323b7cb96f
Java: Follow change of implicit parameter names
2024-10-01 15:06:45 +01:00
Ian Lynagh
901f756c69
Java: Add a test for parameter names
2024-10-01 15:06:42 +01:00
Chris Smowton
01c9509741
Merge pull request #17628 from smowton/smowton/admin/go-vendor-dir-extraction-option
...
Go: add extractor option for vendor-directory extraction
2024-10-01 14:47:42 +01:00
Anders Schack-Mulligen
6081ba5902
Merge pull request #17604 from aschackmull/java/neutral-overrides
...
Java/C#: Add overrides to the interpretation of neutral MaD models.
2024-10-01 14:55:54 +02:00
Rasmus Lerchedahl Petersen
f39dc41903
Python: use imprecise content in cp
...
We had accidentally used precise content leadingto blowup
2024-10-01 13:53:25 +02:00
Tom Hvitved
91e26d0f44
Rust: Add another variable test
2024-10-01 13:45:58 +02:00
Tom Hvitved
a172063e6a
Rust: Document VariableOrAccessCand
2024-10-01 13:38:18 +02:00
Rasmus Lerchedahl Petersen
05910de8d1
Python: MaD expectations
2024-10-01 13:21:22 +02:00
Rasmus Lerchedahl Petersen
cef8744a37
Python: consolidate models in one file
2024-10-01 12:56:21 +02:00
yoff
7816f34d75
Merge branch 'main' into stdlib-optparse
2024-10-01 12:48:09 +02:00
Rasmus Lerchedahl Petersen
64890a1a6b
Python: valid change note
2024-10-01 12:37:45 +02:00
yoff
2b6aab108d
Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll
...
Co-authored-by: Taus <tausbn@github.com >
2024-10-01 12:36:20 +02:00
Calum Grant
fe00c8819d
C++: Fix formatting
2024-10-01 11:26:47 +01:00
Chris Smowton
cb0b388345
Merge pull request #17630 from smowton/smowton/admin/deduplicate-tests
...
Go: deduplicate integration tests
2024-10-01 11:08:00 +01:00
Calum Grant
4712ae1cfc
C++: Use refactored isFirstAllocatorCallArgument()
2024-10-01 11:01:51 +01:00
Calum Grant
59a77d70c0
C++: Use Function::hasErrors in queries
2024-10-01 11:01:23 +01:00
Calum Grant
4b5aa1497b
C++: Implement Function::hasErrors()
2024-10-01 11:00:44 +01:00
yoff
2eac11edd6
Update python/ql/lib/change-notes/2024-09-24-std-lib-models.md
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-01 11:47:42 +02:00
Chris Smowton
d689db23d8
Warn on use of old option
2024-10-01 10:43:28 +01:00
yoff
62509a10c2
Update python/ql/test/library-tests/dataflow/coverage/test_builtins.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-01 11:39:12 +02:00
Calum Grant
60abea17e6
C++: Test for cpp/uninitialized-local
2024-10-01 10:32:17 +01:00
Jeroen Ketema
66d156d386
Merge pull request #17608 from jketema/macro-expansion-tests
...
C++: Add more macro expansion tests
2024-10-01 11:19:49 +02:00
Rasmus Lerchedahl Petersen
e0a3c8a1c4
Python: add change note
2024-10-01 10:12:39 +02:00
Tom Hvitved
b0efffd8f0
Rust: AST support for variables
2024-10-01 10:10:08 +02:00
Rasmus Lerchedahl Petersen
bd68986fa4
Python: add test showing dict can take multiple arguments
2024-10-01 10:01:22 +02:00
Tom Hvitved
a282efc43e
Rust: Add inline test expectations library
2024-10-01 09:50:05 +02:00
Tom Hvitved
1d6626c821
Rust: Implement IdentPat.toString()
2024-10-01 08:42:26 +02:00
Jeroen Ketema
2427227b84
Merge pull request #17611 from microsoft/brodes/wcharcharconversion_false_positives_upstream5
...
Brodes/wcharcharconversion false positives upstream5
2024-10-01 08:00:51 +02:00
Rasmus Lerchedahl Petersen
9357762e06
Python: remove superflous code
...
This is handled by parameter-argument matching
2024-10-01 00:03:04 +02:00
Angela P Wen
204e4c5bb0
Merge pull request #17631 from github/post-release-prep/codeql-cli-2.19.1
...
Post-release preparation for codeql-cli-2.19.1
2024-09-30 13:47:39 -07:00
github-actions[bot]
e97878ed63
Post-release preparation for codeql-cli-2.19.1
2024-09-30 19:49:00 +00:00
Chris Smowton
be389b4c19
Go: deduplicate integration tests
2024-09-30 19:54:14 +01:00
Angela P Wen
7dcdd7429f
Merge pull request #17629 from github/release-prep/2.19.1
...
Release preparation for version 2.19.1
2024-09-30 11:04:41 -07:00
github-actions[bot]
455c8c5953
Release preparation for version 2.19.1
2024-09-30 17:59:48 +00:00
Chris Smowton
c9d6c80913
Log when vendor dir extraction is active
2024-09-30 18:44:20 +01:00
Chris Smowton
684aedf6aa
Golang vendor dir extraction: add extractor option
2024-09-30 18:24:49 +01:00
REDMOND\brodes
c496503053
Formatting.
2024-09-30 11:23:08 -04:00
REDMOND\brodes
eeddb176f8
Merge branch 'brodes/wcharcharconversion_false_positives_upstream5' of https://github.com/microsoft/codeql into brodes/wcharcharconversion_false_positives_upstream5
2024-09-30 11:20:20 -04:00
REDMOND\brodes
162519185d
Removing unnecessary bracket/singleton set literal.
2024-09-30 11:19:31 -04:00
Ben Rodes
9e9469f3ca
Update cpp/ql/src/change-notes/2024-09-26-wcharcharconversion-false-positives.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-09-30 11:17:48 -04:00
REDMOND\brodes
318e75c094
Changing name of predicate to be clearer, and removing an unused parameter.
2024-09-30 11:10:28 -04:00
REDMOND\brodes
c91f7f4918
Altering exists predicate ordering to be clearer.
2024-09-30 11:07:09 -04:00
REDMOND\brodes
31324fc778
Altering ordering for exists statement to be clearer.
2024-09-30 11:05:38 -04:00
REDMOND\brodes
51e787b316
Switching to looking for explicit declaration of unsigned char, to avoid cases where unsigned char is the default char width for char.
2024-09-30 11:02:43 -04:00
REDMOND\brodes
c4737c7fbb
Changing from hasIntermediateType to getABaseType.
2024-09-30 10:58:45 -04:00
Tom Hvitved
70b4ecf0a5
Merge pull request #17624 from github/aibaars/rust-comments
...
Rust: extract comments
2024-09-30 16:58:25 +02:00
REDMOND\brodes
338ab96593
Correct comment.
2024-09-30 10:46:39 -04:00
Tom Hvitved
938e962d79
Merge remote-tracking branch 'upstream/main' into aibaars/rust-comments
2024-09-30 16:42:22 +02:00
Anders Schack-Mulligen
d0831ebd5a
Merge pull request #17625 from aschackmull/java/collection-neutrals
...
Java: Minor model tweak and comment fix.
2024-09-30 16:29:54 +02:00
Anders Schack-Mulligen
5c4b4d644a
C#: Accept test changes.
2024-09-30 16:27:50 +02:00
Rasmus Lerchedahl Petersen
dacc0ab8fe
Python: docs and a simplification
2024-09-30 16:06:30 +02:00
Tom Hvitved
52894f5b6a
Merge pull request #17627 from hvitved/rust/accept-cfg-inconsistencies
2024-09-30 16:00:58 +02:00
Anders Schack-Mulligen
222ae6ad2d
Java: Add a neutral for Comparable.compareTo
2024-09-30 15:51:48 +02:00
Anders Schack-Mulligen
fcb677e84d
Java: Add a neutral for Collection.remove.
2024-09-30 15:46:43 +02:00
Anders Schack-Mulligen
38818f3cd2
Java: Adjust Set.clear model to apply to overrides.
2024-09-30 15:46:42 +02:00
Tom Hvitved
2018b6361d
Rust: Accept CFG inconsistencies
2024-09-30 15:45:15 +02:00
Rasmus Lerchedahl Petersen
438e664116
Python: add missing qldoc
...
More doc is needed, but this should turn the tests green
2024-09-30 15:43:19 +02:00
Arthur Baars
d3c50727ed
Rust: exclude Comment nodes from lines of code counts
2024-09-30 15:39:00 +02:00
Arthur Baars
45d3d381f5
Rust: test cases for comments
2024-09-30 15:38:59 +02:00
Arthur Baars
ef3f730d32
Rust: extract comment tokens
2024-09-30 15:38:58 +02:00
Arthur Baars
fd459be165
Rust: add Comment to schema
2024-09-30 15:38:54 +02:00
Tom Hvitved
3a210b77f9
Merge pull request #17626 from hvitved/rust/more-cfg-tests
2024-09-30 15:37:55 +02:00
Tom Hvitved
c3311e52a6
Merge pull request #17623 from hvitved/rust/labelled-block
2024-09-30 15:33:55 +02:00
Anders Schack-Mulligen
a8f55d93cb
C#: Add overrides to the interpretation of neutral MaD models.
2024-09-30 15:23:27 +02:00
Anders Schack-Mulligen
0459d136d3
Java: Remove neutral model for Object.toString.
2024-09-30 15:17:21 +02:00
Tom Hvitved
2e7e26b638
Rust: Add more CFG tests
2024-09-30 15:15:14 +02:00
Anders Schack-Mulligen
1f95fa10fb
Java: Fix comment re. neutrals and WithoutElement.
...
The remove methods should not have been in this section, as they're
plain neutrals.
2024-09-30 15:08:56 +02:00
Tom Hvitved
5ae669937c
Rust: Add labelled block example
2024-09-30 14:47:13 +02:00
Rasmus Lerchedahl Petersen
a22ea6c1c8
Python: use known sanitiser
...
- also adjust test expectations in experimental
2024-09-30 14:22:17 +02:00
Tamás Vajk
752502ba76
Merge pull request #17619 from tamasvajk/text-file-archiving-warning
...
C#: reduce extraction message severity for missing text files
2024-09-30 14:07:45 +02:00
Ian Lynagh
32be2296e6
Java/Kotlin: Add some dbscheme comments
2024-09-30 13:02:36 +01:00
Rasmus Lerchedahl Petersen
7392d186bc
Python: use yield step also for taint
...
Using the comprehension store step meant that all comprehensions would receive taint.
This because comprehension flow now goes via a callable, meaning they share the return node.
2024-09-30 13:49:01 +02:00
Rasmus Lerchedahl Petersen
fb07a56de6
Python: adjust test expectations
2024-09-30 13:26:59 +02:00
Anders Schack-Mulligen
ec0bd4494c
Java: Add overrides to the interpretation of neutral MaD models.
2024-09-30 13:11:49 +02:00
Rasmus Lerchedahl Petersen
ded39749a7
Python: allow comp arg as argumentnode
2024-09-30 13:02:20 +02:00
Tamas Vajk
29948e4c0b
C#: reduce extraction message severity for missing text files
2024-09-30 12:31:07 +02:00
Rasmus Lerchedahl Petersen
f9f46f0f98
Python: update test expectations
...
We now have a new callable, yielding new enclosing callables
2024-09-30 12:00:38 +02:00
Rasmus Lerchedahl Petersen
3ef05a628f
Python: add location to node
2024-09-30 11:56:36 +02:00
Michael Nebel
6f74387600
Merge pull request #17521 from michaelnebel/modelgen/moreimprovements
...
C#/Java: Content based model generation improvements.
2024-09-30 11:22:30 +02:00
Tom Hvitved
4513643a0f
Merge pull request #17617 from hvitved/rust/extraction-consistency
...
Rust: Add extraction error consistency query
2024-09-30 11:06:34 +02:00
Tom Hvitved
3e77dd8b6b
Rust: Fix extraction errors
2024-09-30 10:36:56 +02:00
Rasmus Lerchedahl Petersen
310819d392
Python: fix dataflow inconsistencies
...
- adjust scope of argument, the argument is outside the called function
- add missing post-update nodes for the new arguments
2024-09-30 10:31:36 +02:00
Tom Hvitved
bafef791f7
Rust: Add extraction error consistency query
2024-09-30 10:28:24 +02:00
Anders Schack-Mulligen
a017f92b78
Merge pull request #17579 from aschackmull/java/type-sanitizers
...
Java: Add more type-based sanitizers.
2024-09-30 10:07:06 +02:00
Tom Hvitved
8a1b4501dd
Merge pull request #17602 from hvitved/rust/cfg-prune-bool-literal
...
Rust: Prune CFG for obviously impossible `true/false` edges
2024-09-30 10:05:03 +02:00
Anders Schack-Mulligen
b0ed47c277
Merge pull request #17605 from aschackmull/java/stringbuilder-neutrals
...
Java: Add a couple of neutrals
2024-09-30 10:03:41 +02:00
Michael Nebel
baae8d0bb2
Shared: Address model generator review comments.
2024-09-30 09:12:30 +02:00
Rasmus Lerchedahl Petersen
d4ea62edec
Python: flow through yield
...
- add yield as a dataflow return
- replace comprehension store step
with a store step to the yield
2024-09-30 09:01:29 +02:00
Jeroen Ketema
e73d1c7b76
C++: Add more macro expansion tests
2024-09-28 22:32:36 +02:00
Owen Mansel-Chan
654d97013f
Merge pull request #17607 from owen-mc/go/add-comments-about-interface-methods-from-embedded-interfaces
...
Go: Add comments noting methods from embedded interfaces are already included
2024-09-28 13:49:50 +01:00
Chris Smowton
ca68aaa0de
Remove test code
2024-09-27 19:07:00 +01:00
REDMOND\brodes
b73fe0ba0a
Adding change log
2024-09-27 12:41:45 -04:00
REDMOND\brodes
92c8d39ba3
Updating expected file, false positives now resolved.
2024-09-27 12:39:50 -04:00
REDMOND\brodes
cc24f1ed9f
Modifications to the query to address false positives.
2024-09-27 12:38:22 -04:00
REDMOND\brodes
26e58532ee
Adding tests and updated expected file with false positives to correct.
2024-09-27 12:37:09 -04:00
Owen Mansel-Chan
796db77104
Add comments noting methods from embedded interfaces are already included
2024-09-27 15:03:09 +01:00
Anders Schack-Mulligen
fb630d266e
Java: Add a couple of neutrals
2024-09-27 15:24:06 +02:00
Tom Hvitved
90a8bef64c
Rust: Run codegen
2024-09-27 13:39:15 +02:00
Ian Lynagh
7de1182f92
Merge pull request #17599 from igfoo/igfoo/constrs
...
Kotlin: Fix the return type for lambda constructors
2024-09-27 12:38:50 +01:00
Tom Hvitved
dc4160b24a
Rust: Prune CFG for impossible true/false edges
2024-09-27 13:37:29 +02:00
Tom Hvitved
bf58bdd2bd
Rust: Update CFG tests
2024-09-27 13:35:14 +02:00
Tom Hvitved
431b33a274
Rust: Implement LiteralExpr::toString()
2024-09-27 13:33:25 +02:00
Ian Lynagh
8196460da3
Merge pull request #17600 from igfoo/igfoo/ke2-constrs
...
KE2: Add bugfix from KE1's #17599
2024-09-27 12:18:09 +01:00
Ian Lynagh
97b56dbeb9
Merge pull request #17601 from igfoo/igfoo/ke2-owners
...
KE2: Add CODEOWNERS
2024-09-27 12:17:42 +01:00
Tom Hvitved
97ead6f462
Merge pull request #17560 from hvitved/codegen/remove-cached
...
Codegen: Do not cache injectors/projectors in `Synth` module
2024-09-27 13:17:02 +02:00
Ian Lynagh
980dd04daa
KE2: Add CODEOWNERS
2024-09-27 11:27:55 +01:00
Ian Lynagh
e52d3ba68f
KE2: Add bugfix from KE1's #17599
2024-09-27 11:26:02 +01:00
Ian Lynagh
2a5b48930a
Kotlin: Fix the return type for lambda constructors
2024-09-27 11:21:40 +01:00
Ian Lynagh
08be35fc2c
Kotlin: Add a test for constructors
2024-09-27 11:21:23 +01:00
Arthur Baars
7c6239b077
Merge branch 'main' into unreachable
2024-09-27 12:15:49 +02:00
Rasmus Lerchedahl Petersen
72530a8312
Python: use synthetic node for comprehension capture argument
...
We used to use the CfgNode for the comprehension itself.
In cases where that is also an argument, say
```python
",".join([x for x in l])
```
that would be an argument to two different calls causing a dataflow consistency violation.
2024-09-27 12:15:03 +02:00
Anders Schack-Mulligen
2d76752ca0
Java: Add model for CharArrayWriter.toString().
2024-09-27 11:28:20 +02:00
Rasmus Lerchedahl Petersen
294092b671
Python: use comprehension function argument
...
For a comprehension `[x for x in l]
- `l` is now a legal argument (in DataFlowPublic)
- `l` is the argument of the comprehension function (in DataFlowDispatch)
- the parameter of the comprehension function is being read rather than `l` (in IterableUnpacking)
Thus the read that used to cross callable boundaries is now split into a arg-param edge and a read from that param.
2024-09-27 09:44:39 +02:00
Michael Nebel
0b39c5b982
C#/Java: Update model generator expected output.
2024-09-27 09:22:29 +02:00
Michael Nebel
80497f551e
Shared: Only make unlifted models in case the API itself is relevant.
2024-09-27 09:22:25 +02:00
Michael Nebel
3d1a403655
C#: Add example of content based summary on private method.
2024-09-27 09:22:20 +02:00
Michael Nebel
ccadfa134e
Shared: Update the model generator script to allow execution of the mixed model generator queries.
2024-09-27 09:22:15 +02:00
Michael Nebel
8310faa2e9
C#/Java: Add a query that uses both content based and non-content based model generation.
2024-09-27 09:22:11 +02:00
Owen Mansel-Chan
fdff209938
Merge pull request #17505 from owen-mc/go/inheritance-tests
...
Go: Add tests for model inheritance and fix bug in promoted methods
2024-09-26 16:42:25 +01:00
Ian Lynagh
93cd6bb2cf
Merge pull request #17594 from igfoo/igfoo/nodeclstack
...
KE2: Remove the declaration stack for now
2024-09-26 15:32:15 +01:00
Calum Grant
8e85f24c95
Merge pull request #17553 from github/calumgrant/bmn/wrong-number-of-format-arguments
...
C++: Remove FPs in cpp/wrong-number-format-arguments due to BMN
2024-09-26 15:01:23 +01:00
Ian Lynagh
0c2aedbb55
KE2: Remove the declaration stack for now
...
Lets see if we still need it in KE2, or if there's a simpler way.
2024-09-26 14:38:35 +01:00
Calum Grant
8967989c7b
C++: Rename change-note
2024-09-26 13:39:46 +01:00
Tamas Vajk
52934ee5db
Code quality improvements
2024-09-26 13:13:20 +01:00
Tamas Vajk
154e841de8
Use extension functions to group extractor functionality
2024-09-26 13:13:19 +01:00
Tamas Vajk
40c28f76f2
KE2 WIP: reintroduce source class extraction
2024-09-26 13:13:17 +01:00
Tamas Vajk
5766580037
KE2: WIP: Move function extraction to symbols
2024-09-26 13:13:16 +01:00
Tamas Vajk
c7f8596643
KE2: Format code in IDEA
2024-09-26 13:13:15 +01:00
Tamas Vajk
a794913b9e
KE2: Change Kotlin compiler version in IDEA settings
2024-09-26 13:13:14 +01:00
Tamas Vajk
2bc1b46f9e
KE2: Add IntelliJ IDEA settings
2024-09-26 13:13:13 +01:00
Tamas Vajk
1ecf685dfd
KE2: Tolerate existing KotlinExtractorDbScheme.kt file in build script
2024-09-26 13:13:12 +01:00
Tamas Vajk
6e3e05dc67
KE2: Modify bazel script to include all java files
2024-09-26 13:13:11 +01:00
Ian Lynagh
1dc8f2594d
bazel: Add rules_jvm_external dependency
2024-09-26 13:13:10 +01:00
Ian Lynagh
d85a39b781
KE2: Add classpath to analysis context
2024-09-26 13:13:09 +01:00
Ian Lynagh
8df542b2ce
KE2: Print diagnostics reported by analysis API
...
Ultimately they ought to be in the database and/or logs.
2024-09-26 13:13:08 +01:00
Ian Lynagh
a09ed81b00
KE2: Reenable extractExprContext
2024-09-26 13:13:07 +01:00
Ian Lynagh
6ae4d225b1
KE2: Remove some old code
2024-09-26 13:13:06 +01:00
Ian Lynagh
186022e89c
KE2: Emit truncated diagnostic info
2024-09-26 13:13:05 +01:00
Ian Lynagh
092290c066
KE2: Add diagnostic counts to the logger state
2024-09-26 13:13:04 +01:00
Ian Lynagh
e2c127b85f
KE2: Pull out a LoggerState
2024-09-26 13:13:03 +01:00
Ian Lynagh
3c0ef3de51
KE2: Reenable extractorContextStack, but now it's in the file logger
...
This allows multiple threads to run on different files with their own stack.
2024-09-26 13:13:02 +01:00
Ian Lynagh
24c545c00b
KE2: Use the FileLogger when making a FileTrapWriter
2024-09-26 13:13:01 +01:00
Ian Lynagh
ce45b0e1d7
KE2: TrapWriter: Use the BasicLogger interface
...
This will allow FileTrapWriters to log via their FileLogger, which means
it will have access to file-specific state
2024-09-26 13:13:00 +01:00
Ian Lynagh
9ce31cc2b9
KE2: Add a BasicLogger interface
2024-09-26 13:12:59 +01:00
Ian Lynagh
2e3addaf98
KE2: Remove redundant value
2024-09-26 13:12:58 +01:00
Ian Lynagh
b53c29152c
KE2: Start handling literals
2024-09-26 13:12:56 +01:00
Ian Lynagh
4ac1c83fcf
KE2: More return statement extraction
2024-09-26 13:12:55 +01:00
Ian Lynagh
482cf2f0ff
KE2: Start extracting return statements
2024-09-26 13:12:54 +01:00
Ian Lynagh
9601b10734
KE2: Towards extracting expressions
2024-09-26 13:12:53 +01:00
Ian Lynagh
d105258363
KE2: Start extracting blocks
2024-09-26 13:12:52 +01:00
Ian Lynagh
35400d80e8
KE2: Start looking at function bodies
2024-09-26 13:12:51 +01:00
Ian Lynagh
16e182f7a8
KE2: Start extracting locations
2024-09-26 13:12:50 +01:00
Ian Lynagh
572b83cb90
KE2: Output something for classes to satisfy the db checks
2024-09-26 13:12:49 +01:00
Ian Lynagh
310f4e3491
KE2: Emit methods
2024-09-26 13:12:48 +01:00
Ian Lynagh
81f879f453
KE2: Start extracting methods
2024-09-26 13:12:47 +01:00
Ian Lynagh
d85f05be0c
KE2: Start extracting method return types
2024-09-26 13:12:46 +01:00
Ian Lynagh
581fed8ae9
KE2: More type extraction
2024-09-26 13:12:45 +01:00
Ian Lynagh
dbf82d5225
KE2: Start looking at extracting types
2024-09-26 13:12:44 +01:00
Ian Lynagh
74d2b43bfb
KE2: Make analysis info available to the extrator modules
2024-09-26 13:12:43 +01:00
Ian Lynagh
50e139f29c
KE2: Implement CODEQL_EXTRACTOR_JAVA_KOTLIN_DUMP
2024-09-26 13:12:42 +01:00
Ian Lynagh
834f2c0dfb
KE2: Tweak functino labels slightly
2024-09-26 13:12:41 +01:00
Ian Lynagh
770f2d6949
KE2: Get some kind of function ID written
2024-09-26 13:12:40 +01:00
Ian Lynagh
4e9a1ef925
KE2: Start extracting functions
2024-09-26 13:12:39 +01:00
Ian Lynagh
c98415631f
KE2: Start extracting declaration parents
2024-09-26 13:12:38 +01:00
Ian Lynagh
75e78965f0
KE2: Towards parent decls
2024-09-26 13:12:37 +01:00
Ian Lynagh
429daa3f7c
KE2: Start extracting declarations
2024-09-26 13:12:35 +01:00
Ian Lynagh
c47660ae70
KE2: Enable the internal-test-exception code
2024-09-26 13:12:34 +01:00
Ian Lynagh
90a73582ee
KE2: Extract package info
2024-09-26 13:12:33 +01:00
Ian Lynagh
f9f766c508
KE2: Start turning KotlinUsesExtractor back on
2024-09-26 13:12:32 +01:00
Ian Lynagh
f3d41ba597
KE2: Actually make location labels
2024-09-26 13:12:31 +01:00
Ian Lynagh
0f1f53cc87
KE2: Ensure all log messages at least get written to the log file
2024-09-26 13:12:30 +01:00
Ian Lynagh
92a2b51be0
KE2: Pass the trap writer in to the file extractor
2024-09-26 13:12:29 +01:00
Ian Lynagh
30626ca7e4
KE2: Start getting deeper into KotlinFileExtractor
2024-09-26 13:12:28 +01:00
Ian Lynagh
e46e5e4cd8
KE2: Start on KotlinFileExtractor
2024-09-26 13:12:27 +01:00
Ian Lynagh
0e32446daa
KE2: Remove the LighterAST LoC support
2024-09-26 13:12:26 +01:00
Ian Lynagh
f34b140e2f
KE2: Extract file meta info
2024-09-26 13:12:25 +01:00
Ian Lynagh
99161bcb1e
KE2: Start writing the actual TRAP files
2024-09-26 13:12:24 +01:00
Ian Lynagh
2c20072e88
KE1: Add some exception handling
2024-09-26 13:12:23 +01:00
Ian Lynagh
70926097df
KE2: Remove unnecessary imports
2024-09-26 13:12:22 +01:00
Ian Lynagh
8ebd07e655
KE2: Get TrapFileWriter working
2024-09-26 13:12:20 +01:00
Ian Lynagh
9c4aa931d5
KE2: Move the context stack from LoggerBase to Logger
...
This will let us have different threads with their own contexts that
share a LoggerBase.
2024-09-26 13:12:19 +01:00
Ian Lynagh
6391ed9865
KE2: Towards TrapFileWriter
2024-09-26 13:12:18 +01:00
Ian Lynagh
4886602426
KE2: Pull a TrapFileWriter.kt out of KotlinExtractor.kt
2024-09-26 13:12:17 +01:00
Ian Lynagh
f54ff1176d
KE2: Pass the trap directory through
2024-09-26 13:12:16 +01:00
Ian Lynagh
b903f05883
KE2: Populate source directory
2024-09-26 13:12:15 +01:00
Ian Lynagh
155da0b243
KE2: test-kotlin2/library-tests/files now has no consistency failures
2024-09-26 13:12:14 +01:00
Ian Lynagh
6073180e02
KE2: Emit compilation_finished
2024-09-26 13:12:13 +01:00
Ian Lynagh
f2e47fc09e
KE2: More logging
2024-09-26 13:12:12 +01:00
Ian Lynagh
f3afedd510
KE2: We now create a Logger
2024-09-26 13:12:11 +01:00
Ian Lynagh
8b11b65292
KE2: Add the compilation properly
2024-09-26 13:12:10 +01:00
Ian Lynagh
0f12ec3a72
KE2: Start actually emitting some TRAP
2024-09-26 13:12:09 +01:00
Ian Lynagh
50c04b44ca
KE2: Tweak LogCounter; now renamed to DiagnosticCounter
2024-09-26 13:12:08 +01:00
Ian Lynagh
88c40d52c8
KE2: Build all Kotlin source files
2024-09-26 13:12:07 +01:00
Ian Lynagh
57da1df4bb
KE2: Get the test driver working
2024-09-26 13:12:06 +01:00
Ian Lynagh
d442a532ad
KE2: Merge KotlinExtractorExtension into KotlinExtractor
2024-09-26 13:12:05 +01:00
Ian Lynagh
ca0ed61147
KE2: Add the top-level eror handling
2024-09-26 13:12:04 +01:00
Ian Lynagh
9a1b3dd2de
KE2: Comment out KE1 code
2024-09-26 13:12:03 +01:00
Ian Lynagh
888c9bce44
KE2: Put the main source file into our package
2024-09-26 13:12:02 +01:00
Ian Lynagh
6ce74be717
KE2: Remove the KE1 resources
2024-09-26 13:12:01 +01:00
Ian Lynagh
1cfbc8e86d
KE2: Handle multiple files
2024-09-26 13:12:00 +01:00
Ian Lynagh
1bd1789861
KE2: Get source file list from arguments
2024-09-26 13:11:59 +01:00
Paolo Tranquilli
b0a1475c10
KE2: package ke2 executable with wrapper scripts
2024-09-26 13:11:57 +01:00
Ian Lynagh
602ffb0516
KE2: More steps towards something working
2024-09-26 13:11:56 +01:00
Ian Lynagh
1fc01606ec
KE2: More steps towards something working
2024-09-26 13:11:55 +01:00
Ian Lynagh
cd7b0e3757
KE2: Uncomment more imports
2024-09-26 13:11:54 +01:00
Paolo Tranquilli
7447474207
KE2: add some third party dependencies as maven artifacts
2024-09-26 13:11:53 +01:00
Paolo Tranquilli
dc51c5fc5b
KE2: add bazel BUILD file
2024-09-26 13:11:52 +01:00
Ian Lynagh
5189f17e6f
KE2: Remove old build system from the KE2 copy
2024-09-26 13:11:51 +01:00
Ian Lynagh
3c347317e5
KE2: Add trivial build
2024-09-26 13:11:50 +01:00
Ian Lynagh
8322e31148
KE2: Copy Kotlin extractor 1 to start Kotlin extractor 2
...
Sans deps.
2024-09-26 13:11:49 +01:00
Tom Hvitved
7c473c38c0
Merge pull request #17585 from hvitved/shared/cfg-scope-no-first-consistency
...
Shared: Add CFG consistency check for scopes with missing entry points
2024-09-26 14:05:08 +02:00
Calum Grant
dcb75f490f
Update cpp/ql/src/change-notes/2024-09-26-wrong-number-format-arguments
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-09-26 13:05:06 +01:00
Calum Grant
8045440d00
Update cpp/ql/lib/semmle/code/cpp/models/interfaces/FormattingFunction.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-09-26 13:04:52 +01:00
Rasmus Wriedt Larsen
7c32efc218
Merge pull request #17203 from RasmusWL/threat-models
...
Python: Add support for threat models
2024-09-26 13:15:46 +02:00
Rasmus Wriedt Larsen
381ea93ec3
Merge pull request #17424 from RasmusWL/active-threat-model-source
...
Go/Java/C#: Rename `ThreatModelFlowSource` to `ActiveThreatModelSource`
2024-09-26 13:08:17 +02:00
Michael Nebel
a128383760
C#/Java: Add some dfc-generated test cases.
2024-09-26 13:01:01 +02:00
Michael Nebel
2a5dc204fb
Shared: Add dfc as a valid model origin.
2024-09-26 13:00:57 +02:00
Michael Nebel
9a923d62ad
C#/Java: Updated expected test output.
2024-09-26 13:00:52 +02:00
Michael Nebel
e70297a7bc
Shared: Content based models is now printed with dfc-generated provenance.
2024-09-26 13:00:39 +02:00
Arthur Baars
d7fb7ab551
Merge pull request #17592 from github/aibaars/cargo-fmt
...
Rust: run cargo fmt
2024-09-26 12:57:15 +02:00
Michael Nebel
53c20ccaeb
Shared: Some model generator re-factoring.
2024-09-26 12:55:01 +02:00
Michael Nebel
0cd4ccb790
C#/Java: Update model generator expected test output.
2024-09-26 12:49:18 +02:00
Michael Nebel
b041829569
Shared: steps in synthetic path chains should just mention the same synthetic fields.
2024-09-26 12:49:07 +02:00
Arthur Baars
6777a34dfb
Rust: run cargo fmt
2024-09-26 12:40:25 +02:00
Geoffrey White
caca4950e6
Rust: Revert the change to FileSystem.qll.
2024-09-26 11:10:32 +01:00
Geoffrey White
7b3960844d
Merge pull request #17589 from geoffw0/missing2
...
Rust: Repair rust/diagnostics/unextracted-elements
2024-09-26 11:03:03 +01:00
Michael Nebel
aae8660acc
C#/Java: Add some examples of missing synthetic field element flow.
2024-09-26 12:00:29 +02:00
Michael Nebel
58513cadbf
C#/Java: Add model generator test examples.
2024-09-26 12:00:25 +02:00
Michael Nebel
6cd548f410
Shared: Only exclude API and parameter combinations where we could get more than three summaries.
2024-09-26 12:00:04 +02:00
Rasmus Wriedt Larsen
431a1af628
Merge branch 'main' into threat-models
2024-09-26 11:44:24 +02:00
Chris Smowton
76914c40c9
Merge pull request #17591 from github/smowton/admin/java-23-change-note
...
Add change note for Java 23 support
2024-09-26 10:14:21 +01:00
Tom Hvitved
f389a889ad
Exclude consistency output from .gitignore files
2024-09-26 11:09:54 +02:00
Tom Hvitved
24f39ccae2
Rust: Weaken scopeNoFirst check
2024-09-26 11:09:52 +02:00
Tom Hvitved
a3ad6f5697
Ruby: Weaken scopeNoFirst check
2024-09-26 11:07:15 +02:00
Michael Nebel
dd993c3900
Merge pull request #17509 from michaelnebel/modelgen/parammodule
...
C#/Java: Re-factor the model generator to be a parameterized module.
2024-09-26 10:57:16 +02:00
Calum Grant
9b5c9af489
C++: Add change note
2024-09-26 09:31:45 +01:00
Calum Grant
7f2d485ae9
C++: Update comment
2024-09-26 09:31:43 +01:00
Calum Grant
c2871f4def
Update cpp/ql/lib/semmle/code/cpp/Function.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-09-26 09:31:42 +01:00
Calum Grant
4a14a3cacb
Update cpp/ql/lib/semmle/code/cpp/models/interfaces/FormattingFunction.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-09-26 09:31:40 +01:00
Calum Grant
0ad2e193e5
C++: Update test case
2024-09-26 09:31:18 +01:00
Calum Grant
31684d2548
C++: Remove FPs in cpp/wrong-number-format-arguments due to BMN
2024-09-26 09:27:59 +01:00
Calum Grant
6a0212ea44
C++: Add regression test
2024-09-26 09:27:51 +01:00
Michael Nebel
297d32180c
Merge pull request #17582 from michaelnebel/csharp/attributecollectionsinks
...
C#: `AttributeCollection` is no longer considered a HTML sink.
2024-09-26 09:17:31 +02:00
Chris Smowton
ba5be80814
Typo
2024-09-25 21:32:52 +01:00
Chris Smowton
2c9488e475
Add change note for Java 23 support
2024-09-25 21:32:24 +01:00
Geoffrey White
f8ce11b3a7
Rust: Improve File.getNumberOfLinesOfCode().
2024-09-25 16:42:29 +01:00
Geoffrey White
7da2845cad
Rust: Uncomment two lines from the test that should now behave deterministically.
2024-09-25 16:42:28 +01:00
Ian Lynagh
a9ecb26885
Merge pull request #17555 from igfoo/igfoo/kotlin2.1
...
Add support for Kotlin 2.1.0-Beta1
2024-09-25 16:25:55 +01:00
Geoffrey White
bc83106dd8
Rust: Repair rust/diagnostics/unextracted-elements.
2024-09-25 16:11:31 +01:00
Erik Krogh Kristensen
6a184e0c2e
Merge pull request #17587 from 5idg5/users/js-dom-xss-tst-file-id-conflict-fix
...
Resolve id conflict with XssWithAdditionalSources.ql
2024-09-25 17:06:20 +02:00
Michael Nebel
1dcc6ac2b1
C#: Address review comments.
2024-09-25 17:06:19 +02:00
Tom Hvitved
1bd504bf61
C#: Restrict CfgScope
2024-09-25 16:43:15 +02:00
Tom Hvitved
ce2d959b7e
Shared: Add CFG consistency check for scopes with missing entry points
2024-09-25 16:43:00 +02:00
Geoffrey White
8f1c1a8399
Revert "Rust: remove queries that no longer work"
...
This reverts commit e19bca0de8 .
2024-09-25 15:33:21 +01:00
Jeroen Ketema
0520fc2d9f
Merge pull request #17583 from jketema/rm-inline
...
C++: Remove `inline` pragma from sink
2024-09-25 16:30:30 +02:00
Ian Lynagh
a6fce19b0c
Kotlin: Fix build with 2.1.0-Beta1
2024-09-25 15:23:35 +01:00
Ian Lynagh
5a03c35e9c
Kotlin: Add 2.1.0-Beta1
2024-09-25 15:23:34 +01:00
Ian Lynagh
f193084f9f
Kotlin: Add 2.1.0-Beta1 jars
2024-09-25 15:23:33 +01:00
Ian Lynagh
a8cad4963e
Kotlin: 2.1.0 is supported
2024-09-25 15:23:31 +01:00
Sid Gawri
e8c68fff7f
resolve id conflict with dom based xss test ql
2024-09-25 10:01:59 -04:00
Felicity Chapman
85cc596041
Merge pull request #17586 from github/felicitymay-patch-1
...
Fix link to change logs on landing page
2024-09-25 14:40:56 +01:00
Jeroen Ketema
7289476c80
Merge pull request #17576 from jketema/formatting
...
C++: Do not wrap quoted text to the next line
2024-09-25 15:32:16 +02:00
Felicity Chapman
53e33d3ef3
Fix link to change logs on landing page
2024-09-25 14:28:09 +01:00
Felicity Chapman
0baa9e9ac1
Merge pull request #17580 from github/felicitymay-fix-dropdown-links
...
Revert changes that made the links in the drop-down on CodeQL docs site relative
2024-09-25 14:16:14 +01:00
Tom Hvitved
90869ec96a
Merge pull request #17558 from hvitved/rust/cfg-consistency-queries
...
Rust: Enable CFG consistency checks
2024-09-25 15:14:44 +02:00
Tom Hvitved
79620c1a89
Address review comment
2024-09-25 14:18:44 +02:00
Michael Nebel
af80797eda
C#: Add change note.
2024-09-25 14:13:06 +02:00
Michael Nebel
e89a47f2f5
C#: Update XSS expected test output.
2024-09-25 14:13:03 +02:00
Michael Nebel
d00e27916d
C#: No longer consider attribute collections as HTML sinks.
2024-09-25 14:12:59 +02:00
Michael Nebel
28c48fb471
C#: Add Xss attribute collection test example and update expected output.
2024-09-25 14:12:55 +02:00
Jeroen Ketema
0ee1383732
C++: Remove inline pragma from sink
2024-09-25 14:04:31 +02:00
Anders Schack-Mulligen
cc63abf0af
Merge pull request #17578 from aschackmull/cpp/fix-inline-sink2
...
Cpp: Replace sink inlining with a forward scan from source.
2024-09-25 13:54:48 +02:00
Arthur Baars
f57dd0a596
Merge pull request #17552 from github/aibaars/diagnostics
...
Rust: extract parse errors as diagnostics
2024-09-25 13:15:24 +02:00
Felicity Chapman
329c3c7c56
Make links in drop-down absolute
2024-09-25 10:59:22 +01:00
Owen Mansel-Chan
0ae10ece39
Merge pull request #17571 from jsoref/issue-17570
...
Downgrade IncorrectIntegerConversionQuery precision to high
2024-09-25 09:58:43 +01:00
Tom Hvitved
cbc2389493
Rust: Accept CFG inconsistencies
2024-09-25 10:56:46 +02:00
Tom Hvitved
d299380a5a
Rust: Enable CFG consistency checks
2024-09-25 10:56:44 +02:00
Tom Hvitved
f428fdc57c
Rust: Run codegen
2024-09-25 10:55:18 +02:00
Tom Hvitved
8c956e8276
Rust: Add LogicalOperation.qll
2024-09-25 10:55:16 +02:00
Tom Hvitved
3bd5c6e445
Rust: Implement {BinaryExpr,PrefixExpr}.toString()
2024-09-25 10:55:15 +02:00
Tom Hvitved
1fb9835f23
Merge pull request #17557 from hvitved/rust/cfg-improvements
...
Rust: CFG improvements
2024-09-25 10:54:49 +02:00
Anders Schack-Mulligen
aaecb9bb7a
Java: Add more type-based sanitizers.
2024-09-25 10:38:17 +02:00
Anders Schack-Mulligen
3a1b618a74
Cpp: Replace sink inlining with a forward scan from source.
2024-09-25 10:28:23 +02:00
Rasmus Lerchedahl Petersen
fc2dc28f87
python: capture flow through comprehensions
...
- add comprehension functions as `DataFlowCallable`s
- add comprehension call as `DataFlowCall`
- create capture argument node for comprehension calls
2024-09-25 10:02:31 +02:00
Jeroen Ketema
29061a08ad
C++: Do not wrap quoted text to the next line
...
Wrapping breaks the highlighting in VSCode, making the QLDoc
difficult to read.
2024-09-25 09:43:05 +02:00
Tom Hvitved
6e493f2baa
Address review comments
2024-09-25 09:09:29 +02:00
Josh Soref
a9e07a88af
Downgrade IncorrectIntegerConversionQuery precision to high
...
`very-high` implies near 0 false positives and we have run into a number and an entire class
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2024-09-24 22:08:00 -04:00
Owen Mansel-Chan
ea4f9cad3c
Mark some test results as SPURIOUS
2024-09-24 22:04:50 +01:00
Chris Smowton
590e93d8ed
Merge pull request #17360 from smowton/smowton/admin/go-function-pretty-printer
...
Go: Expose whether functions are variadic in their pp() output
2024-09-24 21:47:50 +01:00
Owen Mansel-Chan
bcb718ac77
Add change note
2024-09-24 21:39:49 +01:00
Rasmus Lerchedahl Petersen
112e7c95fa
Python: all dict constructor args are relevant
2024-09-24 20:58:59 +02:00
yoff
e7f9b5bbbc
Merge branch 'main' into stdlib-optparse
2024-09-24 20:24:00 +02:00
Rasmus Lerchedahl Petersen
f95926e1a8
Python: add change note
2024-09-24 20:23:39 +02:00
Arthur Baars
5714811071
Rust: fix panic when the last character in a range is multi-byte
2024-09-24 19:26:02 +02:00
Chris Smowton
d673d24ca6
Revise notation to more closely resemble real Go
2024-09-24 17:22:26 +01:00
Chris Smowton
11755482e4
Update test expectation (now signature types pretty-print indicating if they are variadic)
2024-09-24 17:18:10 +01:00
Chris Smowton
40035a0b62
Improve pretty-printer
2024-09-24 17:18:09 +01:00
Chris Smowton
4d3a140dd7
Expose whether functions are variadic in their pp() output
2024-09-24 17:18:08 +01:00
Owen Mansel-Chan
73209638e3
Improve comments in test library
2024-09-24 16:41:10 +01:00
Arthur Baars
1953e4f971
Rust: handle UTF-8 decoding errors
2024-09-24 17:34:33 +02:00
Arthur Baars
37f264df74
Rust: correct line and column numbers in printed error messages
2024-09-24 17:34:32 +02:00
Arthur Baars
ca2b8ef6c0
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-09-24 17:34:31 +02:00
Arthur Baars
9b8cbdad49
Add QLDoc to Diagnostics.qll
2024-09-24 17:34:30 +02:00
Arthur Baars
c596205416
Rust: add some more diagnostics queries
2024-09-24 17:34:29 +02:00
Arthur Baars
bdb4d89f9f
Rust: add Diagnostics.qll
2024-09-24 17:34:27 +02:00
Arthur Baars
b04abc09f0
Rust: extract syntax errors
2024-09-24 17:34:26 +02:00
Owen Mansel-Chan
b0caabac86
Also update QL tests
2024-09-24 16:25:55 +01:00
Owen Mansel-Chan
6e428d5083
Fix bug where some methods were inappropriately promoted
2024-09-24 16:25:53 +01:00
Owen Mansel-Chan
0255edf524
Remove tests for sources and sinks
...
This is redundant given that we test for paths, and for a path
we need the source, step and sink methods to be modeled.
2024-09-24 16:25:49 +01:00
Owen Mansel-Chan
afa4b6dd4a
Make paths test an inline expectations test
2024-09-24 16:23:33 +01:00
Owen Mansel-Chan
5490f3a957
Add tests for interface embedding interface
2024-09-24 16:23:31 +01:00
Owen Mansel-Chan
279800ea62
Use shorter naming scheme for types
2024-09-24 16:23:26 +01:00
Ian Lynagh
4dbb15ddda
Merge pull request #17503 from igfoo/igfoo/fields
...
Java/Kotlin: Deprecate Field.getSourceDeclaration(), Field.isSourceDeclaration()
2024-09-24 15:15:21 +01:00
Taus
8c015b0784
Merge pull request #17305 from Kwstubbs/CORSMiddleware-Starlette
...
Python: Add Support for CORS Middlewares
2024-09-24 15:51:49 +02:00
Arthur Baars
47953339db
Merge pull request #17543 from github/aibaars/rust-gen-extractor
...
Rust: generate the extractor
2024-09-24 15:47:28 +02:00
Michael Nebel
e6085759ae
Shared: Put the content of CaptureSummaryFlowQuery into the shared library code.
2024-09-24 15:46:44 +02:00
Michael Nebel
fd45d2dcbb
Shared: Move the model generator implementation to an internal folder.
2024-09-24 15:27:29 +02:00
Michael Nebel
22c2522aac
Shared: Make a ContentSensitive module with predicates and classes related to content flow.
2024-09-24 15:16:16 +02:00
Ian Lynagh
9b8152a44b
Java: Add up/downgrade scripts
2024-09-24 14:06:56 +01:00
Ian Lynagh
76662a6002
Java: Add changenote for deprecation of Field.getSourceDeclaration() and Field.isSourceDeclaration()
2024-09-24 14:06:55 +01:00
Ian Lynagh
bda779a58d
Java: Deprecate Field.getSourceDeclaration() and Field.isSourceDeclaration()
...
Also follows the removal of the sourceid column of fields.
2024-09-24 14:06:54 +01:00
Ian Lynagh
0be52f9660
Kotlin: Follow removal of sourceid column of the fields relation
2024-09-24 14:06:53 +01:00
Ian Lynagh
300864a38b
Java: dbscheme: Remove sourceid column of fields/5
...
It was always the same as the id column.
2024-09-24 14:06:53 +01:00
Tom Hvitved
5b45d36610
Merge pull request #17300 from hvitved/dataflow/node-ex-cached
...
Data flow: Cache `TNodeEx`
2024-09-24 15:04:35 +02:00
Tom Hvitved
d3368be94a
Swift: Run codegen
2024-09-24 14:42:37 +02:00
Tom Hvitved
c1f3e7389f
Rust: Run codegen
2024-09-24 14:42:04 +02:00
Tom Hvitved
062127b42e
Codegen: Do not cache injectors/projectors in Synth module
2024-09-24 14:41:20 +02:00
Tom Hvitved
300fdc344d
Go: Update expected test output
2024-09-24 14:21:42 +02:00
Tom Hvitved
6a11120e50
Address review comments
2024-09-24 14:21:40 +02:00
Tom Hvitved
16925355a8
Data flow: Cache TNodeEx
2024-09-24 14:21:39 +02:00
Tom Hvitved
f287216060
Update expected test output
2024-09-24 14:21:38 +02:00
Tom Hvitved
37490de4a2
Data flow: Remove Boolean column from TNodeImplicitRead
2024-09-24 14:21:37 +02:00
Owen Mansel-Chan
6a67bd52a9
Add tests for MaD inheritance
2024-09-24 13:21:05 +01:00
Arthur Baars
d14e77ba48
Address comments
2024-09-24 14:09:23 +02:00
Tom Hvitved
8d8bbd5b12
Rust: Run codegen
2024-09-24 13:25:57 +02:00
Tom Hvitved
5f3663018e
Rust: Remove spurious CFG edges in match expressions
2024-09-24 13:09:33 +02:00
Tom Hvitved
3b753da74e
Rust: Expose SuccessorType and sub classes
2024-09-24 13:09:00 +02:00
Owen Mansel-Chan
d7614a71f4
Merge pull request #17529 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2024-09-24 11:37:12 +01:00
Tom Hvitved
6ae03e67e6
Rust: Add case for ParenExpr in CFG
2024-09-24 11:20:57 +02:00
github-actions[bot]
15bb670b3f
Add changed framework coverage reports
2024-09-24 00:20:17 +00:00
Kevin Stubbings
01aa63e170
Add tests
2024-09-23 16:47:10 -07:00
Chris Smowton
7e8da94d9a
Merge pull request #17216 from smowton/smowton/feature/golang-test-extraction
...
Go: support extracting test code
2024-09-23 16:43:42 +01:00
Chuan-kai Lin
1cd8af54f2
Merge pull request #17190 from github/cklin/diff-informed-java-queries
...
Java: add support for alert location restrictions
2024-09-23 08:39:24 -07:00
Chris Smowton
209f9ec93d
Amend comments per review
2024-09-23 15:20:18 +01:00
yoff
e7bc71f2da
Merge pull request #17540 from joefarebrother/python-const-compare
...
Python: Expand `StringConstCompareBarrier` sanitizer gaurds to cover additional constants
2024-09-23 16:14:09 +02:00
Joe Farebrother
48f9e0efe5
Adress review comments: Add missing deprecation + additional test case
2024-09-23 10:57:04 +01:00
Arthur Baars
04e3b39ffb
Merge pull request #17537 from github/redsun82/rust-doctest-gen
...
Rust: take test code also from property descriptions
2024-09-23 11:41:32 +02:00
Arthur Baars
05173fa7ac
Merge pull request #17539 from github/redsun82/rust-codegen-detach
...
Rust/Codegen: allow to "detach" property emission
2024-09-23 11:40:11 +02:00
Rasmus Wriedt Larsen
535db98823
Python: Minor simplification of ActiveThreatModelSource
...
Co-authored-by: Taus <tausbn@github.com >
2024-09-23 11:21:55 +02:00
Rasmus Wriedt Larsen
4a21a85e73
Merge branch 'main' into threat-models
2024-09-23 11:19:58 +02:00
Rasmus Wriedt Larsen
63c3a71d95
Merge branch 'main' into active-threat-model-source
2024-09-23 11:18:14 +02:00
Chris Smowton
e528a08794
Autoformat
2024-09-21 22:12:24 +01:00
Chris Smowton
bb44a2fc8c
Populate pkgInfoMapping for test packages if relevant
2024-09-21 13:38:41 +01:00
Arthur Baars
7b4137fbc8
Rust: generate the extractor
2024-09-20 19:24:55 +02:00
Paolo Tranquilli
e48e18af20
Merge pull request #17527 from github/aibaars/rust-annotations
...
Rust: add QL doc annotations to schema
2024-09-20 18:08:37 +02:00
Arthur Baars
45d9d8a25a
Address comments
2024-09-20 17:53:27 +02:00
Arthur Baars
1f21d75399
Merge pull request #17533 from github/redsun82/codegen-parametrized-pragmas
...
Codegen: introduce inherited pragmas and move remaining decorations
2024-09-20 17:53:05 +02:00
Chuan-kai Lin
75ec8ce58e
Java: apply query alert restrictions
2024-09-20 07:47:58 -07:00
Joe Farebrother
7aa2816570
Add changenote
2024-09-20 15:19:54 +01:00
Anders Schack-Mulligen
3a1e50dcf9
Dataflow: Simplify diff-informed implementation and tweak flag name.
2024-09-20 07:07:10 -07:00
Paolo Tranquilli
c74b6be136
Rust/Codegen: allow to "detach" property emission
...
By using the `rust.detach` pragma on a property, we make that property
not appear in the generated struct as a field, and provide instead
a `generated::Class::emit_property` function that can be used to emit
the corresponding TRAP entry independently.
2024-09-20 16:06:22 +02:00
Joe Farebrother
81e99bf1bb
Add tests
2024-09-20 15:05:51 +01:00
Arthur Baars
69a172c7ba
Rust: accept trivial expected output
2024-09-20 15:51:06 +02:00
Arthur Baars
db06ad2ac3
Rust: codegen
2024-09-20 15:51:03 +02:00
Arthur Baars
2ee61f9aaa
Rust: add placeholder QLdoc annotations
2024-09-20 15:51:02 +02:00
Arthur Baars
e6e0e6eb66
Rust: accept expected output
2024-09-20 15:51:01 +02:00
Arthur Baars
a9423f4bdb
Rust: codegen
2024-09-20 15:50:59 +02:00
Arthur Baars
57458d8f38
Rust: remove qldoc annotations for classes that no longer exist
2024-09-20 15:50:58 +02:00
Arthur Baars
2fdc529ac9
Rust: add qldoc annotations to schema
2024-09-20 15:50:57 +02:00
Arthur Baars
b2bddd3415
Rust: write generated schema into schema/ast.py
2024-09-20 15:50:55 +02:00
Joe Farebrother
3001a570b2
Replace uses of StringConstCompare
2024-09-20 14:47:22 +01:00
Florin Coada
f4071ddb28
Merge pull request #17538 from github/coadaflorin/docs-typo-fix
...
Update index.html
2024-09-20 14:47:07 +01:00
Florin Coada
d290591187
Update index.html
2024-09-20 14:40:45 +01:00
Paolo Tranquilli
2a95068a0a
Rust: take test code also from property descriptions
2024-09-20 15:12:13 +02:00
Geoffrey White
3e0d30f13a
Rust: Merge of unusedvar and unreachable work.
2024-09-20 12:58:38 +01:00
Geoffrey White
58b9355c69
Merge branch 'main' into unreachable
2024-09-20 12:53:49 +01:00
Geoffrey White
d7aa5f1022
Merge pull request #17497 from geoffw0/unusedvar
...
Rust: Placeholder queries for unused variable, unused value
2024-09-20 12:52:33 +01:00
Chris Smowton
bcb84a84e1
Only skip test packages at the file-extraction phase
2024-09-20 12:48:08 +01:00
Joe Farebrother
164cf27e67
Add additional constant checks to constant barrier gaurd
2024-09-20 12:46:10 +01:00
Paolo Tranquilli
4e59fa9035
Codegen: remove unneeded code
2024-09-20 12:47:45 +02:00
Paolo Tranquilli
f7afcd038a
Codegen: move use_for_null to pragmas
2024-09-20 12:47:45 +02:00
Paolo Tranquilli
d2ebe00492
Codegen: move group to parametrized pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
2533f18a6e
Codegen: move ql.hideable to pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
8d291ab938
Codegen: move qltest.test_with to parametrized pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
3e2f886595
Codegen: allow inheritable pragmas
2024-09-20 12:47:43 +02:00
Paolo Tranquilli
1bffc2a7d7
Merge pull request #17532 from github/redsun82/codegen-parametrized-pragmas
...
Codegen: parametrized pragmas
2024-09-20 12:47:33 +02:00
Paolo Tranquilli
db00cb6827
Codegen: move class synth decorators to pragmas
2024-09-20 11:09:22 +02:00
Paolo Tranquilli
9d6ee09f65
Codegen: move rust.doc_test_signature to parametrized pragmas
2024-09-20 11:09:21 +02:00
Paolo Tranquilli
70997e8189
Codegen: move default_doc_name to parametrized pragma
2024-09-20 11:09:21 +02:00
Paolo Tranquilli
9f1d50ebd1
Codegen: allow parametrized pragmas
2024-09-20 11:09:21 +02:00
Chris Smowton
f5ff822681
Convert extract-tests option to an official extractor option
2024-09-20 10:03:54 +01:00
Chris Smowton
94cb99e51d
Adjust test expectations
2024-09-20 10:03:53 +01:00
Chris Smowton
9d79feb4d3
Autoformat go
2024-09-20 10:03:52 +01:00
Chris Smowton
eb6918f88f
Autoformat
2024-09-20 10:03:51 +01:00
Chris Smowton
fd592fa18f
Add tests
2024-09-20 10:03:46 +01:00
Chris Smowton
c3dffc955b
Apply review comments
2024-09-20 09:56:29 +01:00
Chris Smowton
76e6942594
Go: support extracting test code
...
This implements support for test extraction by two mechanisms:
* In autobuild mode, setting `CODEQL_EXTRACTOR_GO_EXTRACT_TESTS` to `true`.
* In manual build mode, tracing a `go test` command (`go test -c` is to be recommended for efficiency).
Go deals with test compilation by creating several extra packages on top of those expected from inspection of the source code (see docs of `packages.Load` for more detail): packages whose IDs include a suffix like `mydomain.com/mypackage [mydomain.com/mypackage.test]`, and packages containing generated test driver code like `mydomain.com/mypackage.test`. There are also additional packages like `mydomain.com/mypackage_tests` which are explicitly present in source code, but not compiled by a normal `go build`.
So far as I can tell, the purpose of the two variants of the package is to resolve dependency cycles (because the tests variant of the package can have more dependencies than the non-tests variant, and non-test code can compile against non-test package variants). Since the test package variants seems to be a superset of the non-tests variant, I employ the simple heuristic of ignoring the variant of each package with the shortest ID. I haven't seen a case where there are three or more variants of a package, so I expect this to always identify the tests variant as the preferred one. If several variants were extracted, and we were to attempt to match Golang's linkage strategy among the different variants, we would need to extend trap-file name and most top-level symbol trap IDs with the package variant they come from; I hope this won't prove necessary.
"Real" `_tests` packages, and wholly synthetic driver code packages, are extracted just like normal.
2024-09-20 09:56:28 +01:00
Arthur Baars
594045b634
Merge pull request #17530 from github/redsun82/codegen-annotate
...
Codegen: allow full annotation of classes
2024-09-20 10:38:44 +02:00
Tom Hvitved
f2e943f9ba
Merge pull request #17520 from hvitved/cfg/no-kind-graph
...
Shared: Do not use `@kind graph` for CFG test output
2024-09-20 10:10:05 +02:00
Paolo Tranquilli
74c0fa7154
Codegen: allow annotations to add class decorations
2024-09-20 08:40:34 +02:00
Paolo Tranquilli
cc5882a3c3
Codegen: allow full annotation of classes
2024-09-20 06:55:17 +02:00
Arthur Baars
cf5d56addf
Merge pull request #17524 from github/revert-17514-redsun82/codegen-include
...
Revert "Codegen: allow to include `.py` files in `schema.py`"
2024-09-19 21:43:28 +02:00
Jeroen Ketema
a065434dd7
Merge pull request #16811 from porcupineyhairs/curlssl
...
CPP: Disabled SSL certificate verification
2024-09-19 20:02:17 +02:00
Porcupiney Hairs
ee41e65e90
Include changes from review
2024-09-19 22:52:20 +05:30
Geoffrey White
1eaa998648
Rust: Implement unreachable code query.
2024-09-19 17:44:15 +01:00
Geoffrey White
e7e0c6bf12
Rust: Add qhelp + examples for unreachable code query.
2024-09-19 17:34:46 +01:00
Geoffrey White
35378aa714
Rust: Add placeholder query + test for unreachable code query.
2024-09-19 17:34:41 +01:00
Tom Hvitved
16813240ae
Shared: Do not use @kind graph for CFG test output
2024-09-19 18:13:31 +02:00
Florin Coada
ec74595671
Merge pull request #17511 from github/changedocs/2.19.0
...
Adding unified changelog for 2.19.0
2024-09-19 17:05:30 +01:00
Simon Friis Vindum
95c18ce431
Merge pull request #17498 from paldepind/rust-improve-cfg
...
Rust: Improve CFG
2024-09-19 17:33:30 +02:00
Paolo Tranquilli
97cca76970
Revert "Codegen: allow to include .py files in schema.py"
2024-09-19 16:58:20 +02:00
Paolo Tranquilli
6a540d833e
Merge pull request #17523 from github/redsun82/rust-break-up-schema
...
Codegen/Rust: allow breaking up schema file
2024-09-19 16:57:58 +02:00
Chris Smowton
fe1081e880
Merge pull request #17510 from mbaluda/patch-1
...
Model summary for `org.springframework.core.io.getInputStream` methods
2024-09-19 15:47:31 +01:00
Chris Smowton
0deefaddc5
Merge pull request #17483 from smowton/smowton/feature/csharp-dataflow-fewer-nodes-including-virtual-dispatch
...
C#: Restrict dataflow node creation to source and source-referenced entities [virtual-dispatch-inclusive variant]
2024-09-19 15:33:47 +01:00
Florin Coada
0e828bb5da
Merge branch 'main' into changedocs/2.19.0
2024-09-19 15:16:49 +01:00
Chris Smowton
bb82dc1b18
Change note
2024-09-19 15:12:11 +01:00
Chris Smowton
bc9eb993b8
Remove unnecessary fromSource conditions
2024-09-19 15:08:08 +01:00
Paolo Tranquilli
a5e3fbf367
Codegen/Rust: allow breaking up schema file
2024-09-19 15:57:42 +02:00
Simon Friis Vindum
19697b9a77
Merge branch 'main' into rust-improve-cfg
2024-09-19 15:53:41 +02:00
Arthur Baars
f38f818578
Merge pull request #17516 from github/redsun82/codegen-annotate
...
Codegen: allow to attach docstrings after the definition
2024-09-19 15:35:16 +02:00
Owen Mansel-Chan
682f08ceb9
Merge pull request #17515 from owen-mc/go/run-ci-when-shared-libs-change
...
Go: Run CI when shared libraries change
2024-09-19 14:28:44 +01:00
Simon Friis Vindum
db9f5fdf81
Rust: Handle nested if expressions, address review comments
2024-09-19 15:10:37 +02:00
Arthur Baars
3c09f70e0d
Merge pull request #17502 from github/aibaars/rust-extract-ast
...
Rust: ast-based extractor
2024-09-19 14:13:25 +02:00
Simon Friis Vindum
2511986324
Rust: Address PR review comments
2024-09-19 14:11:58 +02:00
Arthur Baars
919a9002bc
Merge pull request #17514 from github/redsun82/codegen-include
...
Codegen: allow to include `.py` files in `schema.py`
2024-09-19 13:22:49 +02:00
Arthur Baars
3aa47a3950
Rust: accept test changes
2024-09-19 13:13:18 +02:00
Arthur Baars
1c0f60fa2e
Rust: lines of code, exclude 'SourceFile' node
2024-09-19 13:00:52 +02:00
Arthur Baars
24f24855f0
Rust: update expected output
2024-09-19 13:00:51 +02:00
Arthur Baars
e19bca0de8
Rust: remove queries that no longer work
2024-09-19 13:00:50 +02:00
Arthur Baars
c3b10bf90b
Rust: patch cfg implementation
2024-09-19 13:00:49 +02:00
Arthur Baars
80d32a2333
Rust: re-generate code
2024-09-19 13:00:46 +02:00
Arthur Baars
9104c3fc81
Rust: re-generate schema and extractor
2024-09-19 13:00:45 +02:00
Arthur Baars
1f30d5f41b
Rust: generate schema.py and extractor from ungrammar
2024-09-19 13:00:05 +02:00
Paolo Tranquilli
c117a53fb0
Codegen: allow to attach docstrings after the definition
2024-09-19 12:43:34 +02:00
Owen Mansel-Chan
f2fbe64137
Go: Run CI when shared libraries change
2024-09-19 11:32:46 +01:00
Michael Nebel
f142af50b7
Shared: QL doc improvement.
2024-09-19 12:20:59 +02:00
Michael Nebel
de4a7da286
Java/C#: No longer sync CaptureModels.qll.
2024-09-19 12:20:55 +02:00
Michael Nebel
2033818e39
Java: Use the shared model generator implementation.
2024-09-19 12:20:51 +02:00
Michael Nebel
1f3b28a555
C#: Use the shared model generator implementation.
2024-09-19 12:20:46 +02:00
Michael Nebel
3b9f3c2c29
Shared: Add a model generator parameterised module.
2024-09-19 12:20:42 +02:00
Paolo Tranquilli
ec9bb1da56
Codegen: allow to include .py files in schema.py
2024-09-19 12:18:52 +02:00
Tom Hvitved
4baa4ae2aa
Merge pull request #17513 from owen-mc/fix-test-expectations
...
C#/Go: Fix test expectations including double space
2024-09-19 12:17:18 +02:00
Michael B. Gale
a5ab5d9236
Merge pull request #17422 from github/dependabot/go_modules/go/extractor/extractor-dependencies-f3a1f89f55
2024-09-19 11:02:34 +01:00
Owen Mansel-Chan
ded52ccb8e
Fix test expectations including double space
2024-09-19 11:01:38 +01:00
Florin Coada
54632b289e
Adding unified changelog for 2.19.0
2024-09-19 10:03:07 +01:00
Arthur Baars
61ac8d66f5
Rust: make things compile
2024-09-19 10:51:52 +02:00
Arthur Baars
fabdb3c841
Rust: copy files from rust-analyzer's codegenerator
...
Files copied from: 50882fbfa2/xtask/src/codegen/grammar
2024-09-19 10:51:51 +02:00
Arthur Baars
5ccb45e7d3
Rust: add rust.ungram
...
Copied from 50882fbfa2/crates/syntax/rust.ungram
2024-09-19 10:51:46 +02:00
Arthur Baars
d5c0d41f98
Rust: add generate-schema project
2024-09-19 10:51:44 +02:00
Michael Nebel
4a9e3ee3aa
Merge pull request #17363 from michaelnebel/modelgen/fieldbasedimprovements
...
C#/Java: Content based model generation improvements.
2024-09-19 10:49:11 +02:00
Tom Hvitved
cfa4cb432a
Merge pull request #17504 from hvitved/dataflow/sink-provenance-space
...
Data flow: Remove spurious space in ` Sink:x` provenance
2024-09-19 10:21:38 +02:00
dependabot[bot]
67fa9738e6
Bump golang.org/x/tools
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/tools` from 0.24.0 to 0.25.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.24.0...v0.25.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-09-19 03:46:50 +00:00
Paolo Tranquilli
9a8d9f857f
Merge pull request #17491 from github/redsun82/rust-integration-test
...
Rust: add basic integration tests and fix archiving on Windows
2024-09-19 05:25:14 +02:00
Porcupiney Hairs
57d1035acd
Include changes from review
2024-09-19 03:32:34 +05:30
Mauro Baluda
cab35a25a5
Remove duplicate summary for MultipartFile.getInputStream and update .expected file
2024-09-18 20:43:04 +02:00
Mauro Baluda
5ae51f0b56
Address review
2024-09-18 19:28:03 +02:00
Mauro Baluda
cfa14ad5eb
Update org.springframework.core.io.model.yml
...
Model summary for `getInputStream` methods
2024-09-18 18:13:29 +02:00
Simon Friis Vindum
e43d39a0fe
Merge pull request #17508 from paldepind/rust-consistency-queries-pack
...
Rust: Add consistency-queries pack
2024-09-18 14:17:52 +02:00
Tom Hvitved
485dc9619d
Merge pull request #17506 from hvitved/rust/code-block-examples
...
Rust: Use ```rust for code block examples
2024-09-18 14:15:07 +02:00
Simon Friis Vindum
7c2b149728
Rust: Add consistency-queries pack
2024-09-18 14:09:41 +02:00
Geoffrey White
2769bd6f35
Rust: Make the placeholder queries produce no results, to avoid confusion.
2024-09-18 13:07:31 +01:00
Geoffrey White
3632a76eaf
Rust: Add test annotations.
2024-09-18 13:05:06 +01:00
Geoffrey White
d79aa073ea
Rust: Clean up the UnusedValue examples.
2024-09-18 13:03:09 +01:00
Geoffrey White
463a1254d3
Update rust/ql/src/queries/unusedentities/UnusedValueBad.rs
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2024-09-18 12:55:11 +01:00
Tom Hvitved
ed9008a064
Update expected test output
2024-09-18 13:51:02 +02:00
Simon Friis Vindum
bbf5902b18
Rust: Tweak imports
2024-09-18 13:48:50 +02:00
Tom Hvitved
43c0bd36be
Rust: Run code generator
2024-09-18 13:48:02 +02:00
Tom Hvitved
5554c0f28f
Rust: Use ```rust for code block examples
...
Also added some missing code block terminators.
2024-09-18 13:47:45 +02:00
Tom Hvitved
98b5ef5e01
Rust: Halt codegen on code block without ``` terminator
2024-09-18 13:47:44 +02:00
Simon Friis Vindum
6f555f3ad7
Merge branch 'main' into rust-improve-cfg
2024-09-18 13:42:51 +02:00
Tom Hvitved
2972a4eace
Data flow: Remove spurious space in Sink:x provenance
2024-09-18 13:10:24 +02:00
Michael Nebel
24a101297c
Merge pull request #15884 from michaelnebel/csharp/cleanupcil
...
C#: CIL and Dotnet cleanup (removal).
2024-09-18 11:43:41 +02:00
Chris Smowton
cfd281b319
Merge pull request #17400 from smowton/smowton/admin/further-golang-aliasing-tests
...
Go: add tests for dataflow relating to type aliasing
2024-09-18 10:30:37 +01:00
Tom Hvitved
0516d75c44
Merge pull request #17500 from hvitved/rust/move-generated
...
Rust: Use `elements/internal/generated` instead of `internal/generated`
2024-09-18 11:04:44 +02:00
Simon Friis Vindum
db351bdb05
Rust: Align test output with CI
2024-09-18 10:50:26 +02:00
Tom Hvitved
18ae8b14e9
Rust: Use elements/internal/generated instead of internal/generated
2024-09-18 10:44:20 +02:00
Paolo Tranquilli
c53179f742
Merge pull request #17499 from geoffw0/morestats
...
Rust: Add more summary stats.
2024-09-18 10:43:20 +02:00
Tom Hvitved
c5cbf82dbf
Merge pull request #17495 from hvitved/codegen/internal
...
Codegen: Create `internal` folders
2024-09-18 10:42:04 +02:00
Simon Friis Vindum
dd25b3ecbe
Rust: Don't use macro in test and add documentation string
2024-09-18 10:10:27 +02:00
Simon Friis Vindum
c18c35d737
Merge branch 'main' into rust-improve-cfg
2024-09-18 09:51:16 +02:00
Simon Friis Vindum
6a5a50521b
Rust: Address QL suggestions for CFG implementation
2024-09-18 09:49:59 +02:00
Anders Schack-Mulligen
2837d2551a
Merge pull request #17490 from aschackmull/java/capture-in-obinit
...
Java: Fix support for variable capture inside object initializers.
2024-09-18 09:29:01 +02:00
Michael Nebel
295861d577
Merge pull request #17459 from michaelnebel/csharp/accessormad
...
C#: Add MaD support for `Attribute.Getter` and `Attribute.Setter`.
2024-09-18 09:11:51 +02:00
Paolo Tranquilli
db812df06f
Merge pull request #17492 from github/redsun82/rust-windows
...
Rust: add windows tools
2024-09-18 06:54:10 +02:00
Tom Hvitved
8c0d2e910c
Swift: Run code generator
2024-09-17 20:25:57 +02:00
Tom Hvitved
9ea63fe716
Rust: Run code generator
2024-09-17 20:06:38 +02:00
Tom Hvitved
1433363523
Codegen: Create internal folders
2024-09-17 20:06:35 +02:00
Geoffrey White
83376afd15
Rust: Improve layout locality in summary stats.
2024-09-17 17:45:09 +01:00
Geoffrey White
07fccf8064
Rust: Add extracted + unextracted elements to summary stats.
2024-09-17 17:42:50 +01:00
Geoffrey White
6ebc615fd4
Rust: Add extracted files to summary stats.
2024-09-17 17:36:43 +01:00
Chris Smowton
0d0c94375d
Adjust test expectations
2024-09-17 17:27:04 +01:00
Chris Smowton
2d5cbfd4c9
Elaborate comments
2024-09-17 17:18:48 +01:00
Chris Smowton
41726924e0
Update expectations
2024-09-17 17:02:47 +01:00
Chris Smowton
a803d3fb26
Add comments explaining tests
2024-09-17 17:02:46 +01:00
Chris Smowton
09015df8a4
Format
2024-09-17 17:02:45 +01:00
Chris Smowton
992b3c74fc
Add data-flow tests for aliasing
2024-09-17 17:02:43 +01:00
Geoffrey White
a2bf2c7edb
Rust: Fix query result columns.
2024-09-17 16:53:02 +01:00
Simon Friis Vindum
7a369f8734
Rust: Update CFG test and expected output
2024-09-17 17:34:11 +02:00
Simon Friis Vindum
73a430bd18
Merge branch 'main' into rust-improve-cfg
2024-09-17 17:31:10 +02:00
Geoffrey White
1c7d5217a0
Rust: Autoformat.
2024-09-17 16:24:28 +01:00
Geoffrey White
f93fd7cd6b
Rust: Add qhelp and example for the unused variable query.
2024-09-17 16:13:25 +01:00
Geoffrey White
68f8e17186
Rust: Add a placeholder query + tests for unused variables query.
2024-09-17 16:13:23 +01:00
Geoffrey White
b7ad331b75
Rust: Add qhelp and example for the unused values query.
2024-09-17 16:13:22 +01:00
Geoffrey White
1fc6a0e103
Rust: Add placeholder query + tests for unused values query.
2024-09-17 16:13:21 +01:00
Simon Friis Vindum
6e868c2a6d
Rust: CFG edges for break and continue with labels
2024-09-17 17:11:28 +02:00
Paolo Tranquilli
9f8c3c5778
Merge branch 'redsun82/rust-windows' into redsun82/rust-integration-test
2024-09-17 16:17:17 +02:00
Paolo Tranquilli
26d2e355bb
Merge branch 'main' into redsun82/rust-windows
2024-09-17 16:16:48 +02:00
Michael Nebel
68165bbce4
C#/Java: Address review comments.
2024-09-17 16:09:17 +02:00
Chris Smowton
3e91f0f53f
Expand range of callables requiring nodes to include unbound declarations of generic instantiations, static targets, and methods that have a body even if not flagged fromSource
2024-09-17 15:00:15 +01:00
Chris Smowton
349268cbf7
Expand the range of callables used in source to include potential virtual dispatch targets and referenced callables (e.g., in assigning a delegate)
2024-09-17 15:00:14 +01:00
Chris Smowton
66f48f767e
Restrict dataflow node creation to source and source-referenced entities
2024-09-17 15:00:13 +01:00
Paolo Tranquilli
56f2732bbb
Rust: ignore failing DB-CHECK
2024-09-17 15:35:52 +02:00
Paolo Tranquilli
5432493945
Rust: log detected manifests
2024-09-17 15:35:26 +02:00
Ian Lynagh
c7e3682597
Merge pull request #17451 from igfoo/igfoo/dbscheme
...
Java: Remove deprecated elements from dbscheme
2024-09-17 13:22:17 +01:00
Tom Hvitved
d680a549bd
Merge pull request #16936 from hvitved/csharp/ssa-integration
...
C#: Adopt shared SSA data-flow integration
2024-09-17 13:45:31 +02:00
Simon Friis Vindum
581d0c59c4
Rust: Handle more AST nodes in the CFG
2024-09-17 13:05:27 +02:00
Felicity Chapman
0675ba0fa4
Merge pull request #17361 from github/12707-felicity-docs-landing
...
Update the Docs landing page for the CodeQL docs site
2024-09-17 11:40:53 +01:00
Ian Lynagh
9a398aa9a8
Java: Add up/downgrade scripts
2024-09-17 11:39:07 +01:00
Ian Lynagh
9f1c251809
Java: Follow removeal of typeVars.kind in qlls
2024-09-17 11:39:07 +01:00
Ian Lynagh
baace41488
Java: Remove stats for typeVars.kind
2024-09-17 11:39:06 +01:00
Ian Lynagh
b1f5f9a5cd
Kotlin: Follow removal of typeVars.kind
2024-09-17 11:39:06 +01:00
Ian Lynagh
c5569cf5ad
Java: Remove long-deprecated 'kind' from typeVars
2024-09-17 11:39:05 +01:00
Ian Lynagh
6968d7c17c
Java: Remove duplicate/similar code from dbscheme
...
It's not been used for some time
2024-09-17 11:39:04 +01:00
Ian Lynagh
6166d061f2
Java: Move diagnostic_for next to diagnostics in the dbscheme
...
No code change, but it makes a bit more sense there
2024-09-17 11:39:04 +01:00
Ian Lynagh
7c99d9c648
Java: Remove snapshotDate from dbscheme
...
It's not been used for some time.
2024-09-17 11:39:03 +01:00
Ian Lynagh
9a62561336
Merge pull request #17484 from igfoo/igfoo/nestedName
...
Java: Deprecate RefType.nestedName(), and add RefType.getNestedName()
2024-09-17 11:37:16 +01:00
Paolo Tranquilli
89a8cbc536
Rust: use shared path utilities
2024-09-17 12:27:57 +02:00
Felicity Chapman
40fdd00e16
Merge pull request #17383 from github/10819-felicity-discovery
...
Update "About CodeQL" to cover the information needs of security researchers better
2024-09-17 11:10:52 +01:00
Felicity Chapman
7d49624e1c
Update docs/codeql/codeql-overview/about-codeql.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2024-09-17 11:09:48 +01:00
Anders Schack-Mulligen
a1a885efeb
Java: Expand test.
2024-09-17 11:38:53 +02:00
Simon Friis Vindum
22edece201
Rust: Add CFG construction for if let expressions
2024-09-17 11:26:45 +02:00
Paolo Tranquilli
aae33db137
Rust: add basic integration tests
...
This adds testing of well-formed rust projects and workspaces, using
both `Cargo.toml` and `rust-project.json` manifests.
2024-09-17 11:23:39 +02:00
Paolo Tranquilli
afb9ffa50e
Rust: add windows tools
2024-09-17 11:22:32 +02:00
Simon Friis Vindum
20e968751c
Rust: Handle let statements with pattern and else branch in CFG
2024-09-17 10:54:48 +02:00
Anders Schack-Mulligen
20661a3c56
Java: Fix support for variable capture inside object initializers.
2024-09-17 10:42:21 +02:00
Michael Nebel
8d0cb07ba2
C#: Update the internal MaD attribute documentation.
2024-09-17 09:27:37 +02:00
Tom Hvitved
6618906380
Merge pull request #17488 from hvitved/rust/generated-internal
...
Rust: Move `codeql/rust/generated` files into `codeql/rust/internal/generated`
2024-09-17 09:12:44 +02:00
Paolo Tranquilli
fc9c4a8e14
Merge pull request #17477 from github/redsun82/rust-default-doc-signature
...
Rust/Codegen: make `() -> ()` the default signature
2024-09-17 08:51:46 +02:00
Tom Hvitved
efa52acf73
Rust: Move codeql/rust/generated files into codeql/rust/internal/generated
2024-09-17 08:51:24 +02:00
Paolo Tranquilli
0d8d9a3447
Merge branch 'main' into redsun82/rust-default-doc-signature
2024-09-17 08:29:01 +02:00
Tom Hvitved
9b8ba41c44
Merge pull request #17487 from hvitved/swift/change-note
...
Swift: Add change note
2024-09-16 19:57:24 +02:00
Tom Hvitved
961b077954
Swift: Add change note
2024-09-16 19:27:31 +02:00
Dave Bartolomeo
8b4114c422
Merge pull request #17485 from smowton/smowton/admin/merge-rc315-into-main
...
Merge rc/3.15 into main
2024-09-16 13:05:58 -04:00
Geoffrey White
27dca746ea
Merge pull request #17465 from geoffw0/missing
...
Rust: Add Missing Elements query
2024-09-16 17:46:09 +01:00
Chris Smowton
01b47573b3
Merge remote-tracking branch 'origin/rc/3.15' into smowton/admin/merge-rc315-into-main
2024-09-16 17:36:18 +01:00
Paolo Tranquilli
f949ca919a
Merge pull request #17479 from github/redsun82/rust-unextracted
...
Rust: introduce `Unextracted` and `Missing` "marker" classes
2024-09-16 18:26:55 +02:00
Ian Lynagh
41ed6e6695
Java: Deprecate RefType.nestedName(), and add RefType.getNestedName()
2024-09-16 17:16:25 +01:00
Geoffrey White
b907100d82
Rust: Rename files.
2024-09-16 16:25:56 +01:00
Geoffrey White
f60879bfb5
Rust: Rename missing -> unextracted.
2024-09-16 16:25:55 +01:00
Florin Coada
8090619117
Merge pull request #17456 from github/changedocs/2.18.4
...
CodeQL 2.18.4 unified changelog
2024-09-16 16:22:01 +01:00
Simon Friis Vindum
a935bded36
Rust: CFG for match expressions
2024-09-16 17:16:37 +02:00
Paolo Tranquilli
de4ab44e06
Merge branch 'main' into redsun82/rust-unextracted
2024-09-16 17:10:26 +02:00
Florin Coada
cbc390ebe5
Merge branch 'rc/3.15' into changedocs/2.18.4
2024-09-16 16:08:52 +01:00
Chris Smowton
30be6803c3
Merge pull request #17480 from github/post-release-prep/codeql-cli-2.19.0
...
Post-release preparation for codeql-cli-2.19.0
2024-09-16 16:06:58 +01:00
Paolo Tranquilli
d24d933ad7
Merge pull request #17460 from github/redsun82/rust-typed-labels
...
Rust: introduce typed labels
2024-09-16 16:56:37 +02:00
Paolo Tranquilli
37f3ea137b
Merge pull request #17474 from github/redsun82/swift-cfg-order-disambuigation
...
Swift: tentative fix to Cfg disambuigation
2024-09-16 16:54:26 +02:00
Paolo Tranquilli
cf603108d4
Merge pull request #17478 from github/redsun82/python-fix-ql-test-exclusions
...
Python: replace `src_archive` exclusion patterns with `*.testproj` ones
2024-09-16 16:53:44 +02:00
Paolo Tranquilli
3eaee1249c
Merge pull request #17464 from geoffw0/loc
...
Rust: Add lines-of-code queries
2024-09-16 16:47:12 +02:00
Paolo Tranquilli
1ce4707ff9
Merge branch 'main' into redsun82/rust-typed-labels
2024-09-16 16:44:55 +02:00
Paolo Tranquilli
d1704cfb14
Merge pull request #17444 from hvitved/rust/final-classes
...
Rust/Swift: Make all public AST classes `final`
2024-09-16 16:42:40 +02:00
Geoffrey White
3748365729
Rust: Comment out the printlin! macro invocations for now.
2024-09-16 15:29:13 +01:00
github-actions[bot]
79be301984
Post-release preparation for codeql-cli-2.19.0
2024-09-16 14:09:32 +00:00
Paolo Tranquilli
64f77051bd
Rust: commit forgotten new files
2024-09-16 16:02:59 +02:00
Paolo Tranquilli
a4399a184a
Rust: introduce Unextracted and Missing "marker" classes
2024-09-16 15:49:37 +02:00
Tom Hvitved
964e97c842
Update misc/codegen/lib/ql.py
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2024-09-16 15:48:13 +02:00
Michael Nebel
bdc00841c0
C#: Add change note.
2024-09-16 15:45:14 +02:00
Michael Nebel
0b579c0a1a
C#: Update external models tests and expected test output.
2024-09-16 15:45:12 +02:00
Michael Nebel
308aca632e
C#: Make support for Attribute.Getter and Attribute.Setter in MaD.
2024-09-16 15:45:09 +02:00
Michael Nebel
368ba1c5e2
C#: Update external models expected test output.
2024-09-16 15:45:07 +02:00
Michael Nebel
367bbc4039
C#: Add some examples of using attributes on properties and indexers for use in external models.
2024-09-16 15:45:05 +02:00
Michael Nebel
3c97bcb790
C#: Exclude properties from the Attribute selection.
2024-09-16 15:45:03 +02:00
Michael Nebel
5de9e7c3ad
C#: Add change note.
2024-09-16 15:39:44 +02:00
Chris Smowton
e99d7db428
Merge pull request #17476 from github/release-prep/2.19.0
...
Release preparation for version 2.19.0
2024-09-16 14:29:09 +01:00
Michael Nebel
add033249f
Merge pull request #17475 from michaelnebel/csharp/indexerattributes
...
C#: Extract attributes on indexers.
2024-09-16 15:26:53 +02:00
Geoffrey White
63a635c89c
Revert "Rust: Restrict the query to user code."
...
This reverts commit aed44ba5f3 .
2024-09-16 13:46:43 +01:00
Paolo Tranquilli
10e42237f3
Codegen: fix test
2024-09-16 14:46:42 +02:00
Tom Hvitved
d0eae97bcf
Address review comment
2024-09-16 14:46:23 +02:00
Geoffrey White
7a21b3ba46
Rust: Accept the new results.
2024-09-16 13:42:18 +01:00
Geoffrey White
4656b3a43d
Revert "Rust: Only test the 'user code' queries, as the non-user stuff is not stable between platforms."
...
This reverts commit 00b9647aa1 .
2024-09-16 13:39:50 +01:00
Paolo Tranquilli
e280e1ebee
Merge pull request #17441 from github/redsun82/rust-cli-flags
...
Rust: make the cli flags override automatic
2024-09-16 14:37:43 +02:00
Paolo Tranquilli
8953ad6b76
Python: replace src_archive exclusion patterns with *.testproj ones
...
The `**/src_archive/**` exclusion patterns seem to have to do with
trying to exclude archived source files from being picked up for the
extractor while running the test itself. However it seems that directory
is not being used any more by `codeql` (which uses a `src` directory
instead).
A `*.testproj` exclusion pattern will work in a more robust way, by
excluding any file inside the database being built.
2024-09-16 14:30:55 +02:00
Tom Hvitved
8d68bdf4d6
Codegen: Fix return type of getResolveStep and resolve
2024-09-16 14:19:29 +02:00
Michael Nebel
03ee7b99d2
C#: Add downgrade script.
2024-09-16 14:12:12 +02:00
Michael Nebel
b76613901c
C#: Add upgrade script.
2024-09-16 14:12:10 +02:00
Michael Nebel
0104f96f4a
C#: Remove metadata_handle part of the extractor implementation.
2024-09-16 14:12:07 +02:00
Michael Nebel
a6f95c577a
C#: Remove deprecated predicates.
2024-09-16 14:12:05 +02:00
Michael Nebel
982208cd81
C#: Remove all CIL and Dotnet related tables and types from the dbscheme.
2024-09-16 14:12:03 +02:00
Michael Nebel
21b3daa2c0
C#: Delete Dotnet and CIL library code.
2024-09-16 14:12:01 +02:00
Tom Hvitved
2cafa3c228
Merge pull request #6 from redsun82/rust/final-classes
...
Pre-commit: bump up `autopep8` check version and fix formatting
2024-09-16 14:09:58 +02:00
Paolo Tranquilli
95b32fb541
Pre-commit: bump up autopep8 check version and fix formatting
2024-09-16 14:03:48 +02:00
Geoffrey White
aed44ba5f3
Rust: Restrict the query to user code.
2024-09-16 12:56:06 +01:00
Tom Hvitved
575023f212
Swift: Add up/downgrade scripts
2024-09-16 13:40:06 +02:00
Tom Hvitved
d2f633b3b4
Swift: Manual changes after running code generator
2024-09-16 13:40:05 +02:00
Tom Hvitved
c785cd9d7b
Swift: Revert Impl rename for manually added files
2024-09-16 13:40:03 +02:00
Tom Hvitved
4ab5a1a060
Swift: Run code generator
2024-09-16 13:40:02 +02:00
Tom Hvitved
5fc762d811
Swift: Add Impl suffix to all stub/implementation classes
...
```
find . -maxdepth 5 -type f -not -name "*Constructor.qll" -print | sed 's/.qll//g' | xargs -I '{}' mv '{}'.qll '{}'Impl.qll
```
2024-09-16 13:39:59 +02:00
Tom Hvitved
683ecc39d8
Rust: Adjust some generated Impl files
2024-09-16 13:39:57 +02:00
Tom Hvitved
4dd3059f16
Rust: Run code generator
2024-09-16 13:39:55 +02:00
Tom Hvitved
9c0cafeeb8
Codegen: Make public AST classes final
2024-09-16 13:39:53 +02:00
Paolo Tranquilli
73e9b46853
Rust/Codegen: make () -> () the default signature
2024-09-16 13:32:55 +02:00
Chris Smowton
be02864281
Copyedit
2024-09-16 12:25:49 +01:00
Chris Smowton
8c92d92427
Copyedit
2024-09-16 12:23:10 +01:00
Chris Smowton
8f345f9618
Copyedit Java change note
2024-09-16 12:22:20 +01:00
Simon Friis Vindum
04aa7b471b
Rust: Add support in CFG for various simple AST nodes
2024-09-16 13:22:15 +02:00
Tamás Vajk
d72f8b2e46
Merge pull request #17455 from tamasvajk/add-launch-json
...
C#: Add VSCode `launch.json`
2024-09-16 13:19:04 +02:00
Geoffrey White
fb6fbf6d21
Rust: Repair after Unimplemented.getLocation was removed.
2024-09-16 12:06:51 +01:00
github-actions[bot]
acdafd9646
Release preparation for version 2.19.0
2024-09-16 10:56:10 +00:00
Geoffrey White
00b9647aa1
Rust: Only test the 'user code' queries, as the non-user stuff is not stable between platforms.
2024-09-16 11:49:27 +01:00
Geoffrey White
c61970d8fe
Merge branch 'main' into loc
2024-09-16 11:49:01 +01:00
Michael Nebel
f2360542e0
C#: Add change note.
2024-09-16 11:00:37 +02:00
Michael Nebel
7db73c8771
C#: Update expected test output.
2024-09-16 10:57:25 +02:00
Michael Nebel
1eff6fdf73
C#: Add extractor support for attributes on indexers.
2024-09-16 10:53:45 +02:00
Michael Nebel
5c5da3791e
C#: Update attributes expected test output.
2024-09-16 10:53:00 +02:00
Paolo Tranquilli
ece815750e
Merge branch 'main' into redsun82/rust-typed-labels
2024-09-16 10:51:07 +02:00
Michael Nebel
cc0d99a141
C#: Add attibute test examples for properties and indexers.
2024-09-16 10:50:51 +02:00
Simon Friis Vindum
c62c397cda
Merge branch 'main' into rust-improve-cfg
2024-09-16 10:34:15 +02:00
Chris Smowton
030977003e
Merge pull request #17472 from github/dbartol/rc-3.15-mergeback
...
Mergeback from `rc/3.15`
2024-09-16 09:10:45 +01:00
Paolo Tranquilli
f1233b14e8
Rust: fix generated hierarchy
2024-09-16 10:06:01 +02:00
Arthur Baars
ab4788a2ce
Merge branch 'main' into missing
2024-09-16 09:50:56 +02:00
Arthur Baars
762bf87663
Merge branch 'main' into loc
2024-09-16 09:50:48 +02:00
Paolo Tranquilli
cb53911224
Merge branch 'main' into redsun82/rust-cli-flags
2024-09-16 09:36:06 +02:00
Paolo Tranquilli
39ce3fbd33
Merge pull request #17463 from hvitved/swift/callable-ast-node
...
Swift: Make `Callable` a sub type of `AstNode`
2024-09-16 09:27:41 +02:00
Paolo Tranquilli
d74dd2161a
Swift: tentative fix to Cfg disambuigation
2024-09-16 09:14:09 +02:00
Paolo Tranquilli
e1ac40e750
Merge pull request #17432 from github/aibaars/rust-doc-tests
...
Rust: AST: add docs with examples for qltest
2024-09-16 09:00:31 +02:00
Tom Hvitved
74440273f1
Swift: Add DB up/downgrade scripts
2024-09-16 08:47:49 +02:00
Porcupiney Hairs
e768e2e5fe
Include changes from review
2024-09-16 05:17:11 +05:30
Dave Bartolomeo
d6a7c87696
Update test expectations after merge
2024-09-15 13:42:46 +00:00
Dave Bartolomeo
485fc04029
Initial merge from main
2024-09-15 08:55:31 -04:00
Geoffrey White
36f54cc6c9
Rust: Clean up the query output.
2024-09-13 19:18:03 +01:00
Geoffrey White
551c4e83f4
Rust: Improve getNumberOfLinesOfCode (in particular, it will now include the closing of blocks { } ).
2024-09-13 18:23:11 +01:00
Geoffrey White
0d5c25b400
Rust: Repair getNumberOfLinesOfCode.
2024-09-13 18:19:01 +01:00
Arthur Baars
7f8bb7e859
Apply clippy fixes
2024-09-13 19:00:28 +02:00
Geoffrey White
d21cbe57aa
Merge branch 'main' into loc
2024-09-13 17:55:09 +01:00
Arthur Baars
90537f9132
Fix other QL code
...
This reverts commit 5c02fb4a2e .
2024-09-13 18:47:10 +02:00
Geoffrey White
57eafb81c7
Rust: Update results for changes on main.
2024-09-13 17:40:44 +01:00
Arthur Baars
3fdc49c4cb
Rename Literal, Type, and BinExpr
2024-09-13 18:33:55 +02:00
Geoffrey White
81aeb3b755
Merge branch 'main' into missing
2024-09-13 17:33:46 +01:00
Arthur Baars
ebe1e5e0d2
Fix locations for Path and LiteralOrConstPat
2024-09-13 18:23:39 +02:00
Arthur Baars
661a4e07be
Merge remote-tracking branch 'upstream/main' into aibaars/rust-doc-tests
2024-09-13 17:31:38 +02:00
Paolo Tranquilli
8f93f5e34b
Rust: move to Label<T> and mark unsafety of from_untyped
2024-09-13 17:17:19 +02:00
Paolo Tranquilli
5108799224
Merge pull request #17448 from github/redsun82/rust-std-files
...
Rust: integrate into standard files+location library
2024-09-13 16:23:25 +02:00
Simon Friis Vindum
afa4e79756
Rust: Add support for more AST nodes to CFG contruction
2024-09-13 16:22:18 +02:00
Simon Friis Vindum
9061536cca
Rust: Make logical operator pre order nodes and eliminate impossible paths in CFG
2024-09-13 16:14:33 +02:00
Geoffrey White
a3de3a1c51
Rust: Update results for latest main.
2024-09-13 15:10:38 +01:00
Geoffrey White
af7cd238e5
Rust: Test query for missing elements.
2024-09-13 15:09:18 +01:00
Geoffrey White
2894653421
Rust: Query for missing elements.
2024-09-13 15:09:17 +01:00
Rasmus Wriedt Larsen
13a4df9b68
Go: autoformat
2024-09-13 16:07:27 +02:00
Geoffrey White
6e01270fec
Rust: Better (still incomplete) results on latest main.
2024-09-13 15:06:22 +01:00
Geoffrey White
fdf079265d
Rust: Add test.
2024-09-13 15:05:20 +01:00
Geoffrey White
c124820256
Rust: Add summary stats query showing all of the summary data, for convenience.
2024-09-13 15:05:19 +01:00
Geoffrey White
6e9f2a3b61
Rust: Add tests.
2024-09-13 15:05:18 +01:00
Geoffrey White
2f98c5ba47
Rust: Add lines-of-code queries.
2024-09-13 15:05:17 +01:00
Paolo Tranquilli
c7be2ae08a
Merge pull request #17462 from github/redsun82/rust-codegen-codeql
...
Rust: fetch `codeql` prior to checking `codegen`
2024-09-13 15:45:36 +02:00
Tom Hvitved
4912ee8ab3
Swift: Make Callable a sub type of AstNode
2024-09-13 15:39:40 +02:00
Jeroen Ketema
087a8484aa
Merge pull request #17430 from jketema/fix-finally-inconsistency
...
C++: Fix `__finally` related inconsistencies
2024-09-13 15:27:56 +02:00
Geoffrey White
e1299143c6
Merge pull request #17442 from geoffw0/files
...
Rust: Extracted Files diagnostic query
2024-09-13 14:13:43 +01:00
Geoffrey White
40c5f10fea
Merge pull request #17450 from geoffw0/rustsuite
...
Rust: Add query suites
2024-09-13 14:13:07 +01:00
Paolo Tranquilli
5cd4d88d44
Rust: fetch codeql prior to checking codegen
2024-09-13 14:35:24 +02:00
Paolo Tranquilli
faf1eeeb0d
Rust: introduce typed labels
2024-09-13 13:57:14 +02:00
Paolo Tranquilli
23dd572d5e
Rust: add CODEQL_ base env layer
2024-09-13 13:39:39 +02:00
Arthur Baars
d73d90dba2
Avoid use of plain 'None' in tests
...
For some reason the parser resolves the ambiguity between None as a PathPat or IdentPat
differently on the Action runners vs local machine.
2024-09-13 12:48:58 +02:00
Simon Friis Vindum
61aad2ec68
Rust: Sort CFG trees and add scope for closures
2024-09-13 11:57:31 +02:00
Simon Friis Vindum
1a85dfd9ce
Rust: Loops propagate CFG return completions but captures continue and break
2024-09-13 11:51:16 +02:00
Arthur Baars
e68229892e
Add some more QL docs
2024-09-13 11:48:36 +02:00
Arthur Baars
5c02fb4a2e
Fix CFG library
2024-09-13 11:41:21 +02:00
Simon Friis Vindum
b979df61ea
Rust: Handle functions correctly through scope in CFG
2024-09-13 11:40:26 +02:00
Florin Coada
194c2fa9c4
Add changedocs for 2.18.4
2024-09-13 10:18:04 +01:00
Arthur Baars
e46ad61bb8
Update test data
2024-09-13 11:16:25 +02:00
Arthur Baars
d99c2031ac
Workaround nameclash in dbscheme generator
2024-09-13 11:07:02 +02:00
Geoffrey White
587ebbffba
Rust: Edit test slightly to avoid DBCheck failure.
2024-09-13 10:02:28 +01:00
Arthur Baars
b0939cfffa
Update extractor
2024-09-13 10:58:01 +02:00
Arthur Baars
fa9cfc1104
Regenerate code
2024-09-13 10:52:43 +02:00
Arthur Baars
8dcf93d065
Make class names match rust.ungram
...
811905fce8/crates/syntax/rust.ungram
2024-09-13 10:51:11 +02:00
Arthur Baars
452424a0d2
Fix tests for Path and TypeRef
2024-09-13 10:25:36 +02:00
Arthur Baars
085aad3b3c
Update test data
2024-09-13 10:22:01 +02:00
Arthur Baars
c634b0a000
Don't extract non-source crates
2024-09-13 10:16:53 +02:00
Arthur Baars
197fb04184
Improve docs
2024-09-13 10:16:34 +02:00
Tamas Vajk
549b294a05
C#: Add VSCode launch.json
2024-09-13 09:42:55 +02:00
Kevin Stubbings
c30332818f
Reorder and rename
2024-09-13 00:41:55 -07:00
Kevin Stubbings
03f375e436
missed some
2024-09-13 00:21:33 -07:00
Paolo Tranquilli
403cc3df90
Rust: avoid cli flag defaults overriding env settings
2024-09-13 06:50:12 +02:00
Kevin Stubbings
7657b3e115
Fix tests
2024-09-12 21:30:32 -07:00
Kevin Stubbings
831d522025
First round feedback
2024-09-12 20:49:10 -07:00
Arthur Baars
c825ae4eab
Add some examples for some of the unimplemented nodes
2024-09-12 22:18:02 +02:00
Arthur Baars
8e378d86df
Update test data
2024-09-12 22:18:00 +02:00
Arthur Baars
7572546efa
Improve handling of unimplemented nodes
2024-09-12 22:17:39 +02:00
Arthur Baars
69761a2942
Rust: AST: add docs with examples for qltest
2024-09-12 19:54:37 +02:00
Arthur Baars
292c6b6159
Clear out unused comments
2024-09-12 17:58:17 +02:00
Arthur Baars
2a88086544
Rust: AST: add docs with examples for qltest
2024-09-12 17:58:15 +02:00
Simon Friis Vindum
f73680ba21
Rust: Handle short-circuiting logical binary operators
2024-09-12 17:30:05 +02:00
Geoffrey White
7907cbeae1
Rust: Add query suites (identical to the Swift ones apart from their names).
2024-09-12 15:55:06 +01:00
Paolo Tranquilli
0b850a2dff
Rust: add missing doc
2024-09-12 16:51:52 +02:00
Simon Friis Vindum
c821ec21bb
Rust: CFG edge for return in functions
2024-09-12 16:25:43 +02:00
Paolo Tranquilli
beb27bf5e3
Rust: fix QL compilation and schema includes ordering
2024-09-12 15:05:30 +02:00
Simon Friis Vindum
e1f2fa8c7e
Rust: Support break and continue in loops
2024-09-12 14:07:43 +02:00
Geoffrey White
f77c79593e
Rust: Updated expected for changes on main.
2024-09-12 12:46:04 +01:00
Geoffrey White
9d8b514b5c
Merge remote-tracking branch 'upstream/main' into files
2024-09-12 12:29:44 +01:00
Paolo Tranquilli
b4b680775c
Rust: integrate into standard files+location library
2024-09-12 13:17:10 +02:00
Tamás Vajk
9250c29bd5
Merge pull request #17439 from tamasvajk/feature/include-razor-files-in-fromSource
...
C#: Include `.razor` files in `File::fromSource`
2024-09-12 13:14:34 +02:00
Paolo Tranquilli
a4c1ec75db
Merge pull request #17445 from github/redsun82/rust-qltest
...
Rust: make ql tests extract files together
2024-09-12 12:53:16 +02:00
Paolo Tranquilli
ed0370b715
Rust: update rust/tools/qltest.sh
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2024-09-12 12:28:22 +02:00
Simon Friis Vindum
3dc517c82b
Rust: Handle absence of else branch in if expression in CFG
2024-09-12 10:35:00 +02:00
Rasmus Wriedt Larsen
66b61ee25a
Go/Java/C#: Add change-note
2024-09-12 10:16:55 +02:00
Rasmus Wriedt Larsen
8c10155eb7
mass rename to ActiveThreatModelSource
2024-09-12 10:16:55 +02:00
Simon Friis Vindum
67a06cb772
Rust: Support loop in CFG
2024-09-12 09:29:19 +02:00
Paolo Tranquilli
aeae922ef3
Rust: make ql tests extract files together
...
For the moment this removes the possibility to set custom flags or env
variables for the extractor via comments, but that can be added back
easily if needed with a different mechanism (like an `env` file).
2024-09-12 09:13:35 +02:00
Paolo Tranquilli
5ae8824303
Rust: add context to parameter file expansion errors
2024-09-12 08:56:07 +02:00
Paolo Tranquilli
6adf88542e
Rust: fix linting script
2024-09-12 08:53:08 +02:00
Paolo Tranquilli
0a8c0f5ab4
Rust: fix bazel build
2024-09-12 08:46:50 +02:00
Owen Mansel-Chan
076dd07cdc
Merge pull request #17429 from owen-mc/go/fix/multiple-anonymous-type-parameters
...
Go: fix multiple anonymous type parameters
2024-09-12 00:38:56 +01:00
Chuan-kai Lin
ff78bebf19
Shared support for alert filtering
2024-09-11 13:18:26 -07:00
Geoffrey White
c2e86423b9
Rust: Test the successfully extracted files diagnostic.
2024-09-11 17:10:08 +01:00
Geoffrey White
f1d281ffcc
Rust: Add test cases for diagnostics.
2024-09-11 17:10:07 +01:00
Paolo Tranquilli
5bfe2a9e18
Merge branch 'main' into redsun82/rust-cli-flags
2024-09-11 18:00:47 +02:00
Geoffrey White
a933f0d695
Rust: Add diagnostic query for successfully extracted files.
2024-09-11 16:45:33 +01:00
Paolo Tranquilli
f9e4c0af13
Merge pull request #17435 from github/rust-experiment
...
Rust: merge current status of experimental extractor into main
2024-09-11 17:31:24 +02:00
Paolo Tranquilli
1b3a5cdab1
Rust: make the cli flags override automatic
...
This makes the clap flags overlay over `Config` entirely derived via an
attribute macro. Also, the `--intputs-file` option is replaced by a more
standard and versatile `@` parameter file mechanism.
2024-09-11 17:28:59 +02:00
Tamas Vajk
da3c5f44f2
C#: Include .razor files in File::fromSource
2024-09-11 16:13:42 +02:00
Asger F
07bd854868
Merge pull request #17401 from pwntester/js/actions/secrets-in-artifacts
...
Javascript: Query to detect GITHUB_TOKEN leaked in artifacts
2024-09-11 15:54:36 +02:00
Andrew Eisenberg
15cdc7210e
Merge pull request #17431 from github/aeisenberg/query-add-autofix
2024-09-11 06:34:08 -07:00
Owen Mansel-Chan
f46b4b344f
Merge pull request #17277 from github/owen-mc-patch-1
...
Docs: Give clearer example of multiple query predicates in one ql file
2024-09-11 14:22:33 +01:00
Simon Friis Vindum
fea6017688
Merge pull request #17415 from paldepind/rust-control-flow-graph
...
Rust: Basic control flow graph setup
2024-09-11 15:08:33 +02:00
Paolo Tranquilli
43984212a5
Merge branch 'main' into rust-experiment
2024-09-11 13:52:38 +02:00
Sid Shankar
983eb1924f
Merge pull request #17433 from github/sidshank/ts-5.6
2024-09-11 07:23:00 -04:00
Paolo Tranquilli
e4766b60c3
Rust: make QL test crates workspaces
2024-09-11 11:29:04 +02:00
Simon Friis Vindum
857edb791c
Rust: Fix control flow tree for function and block expression
2024-09-11 11:18:56 +02:00
Paolo Tranquilli
8bf3c42213
Merge branch 'main' into rust-experiment
2024-09-11 11:06:24 +02:00
Paolo Tranquilli
d8db0e43da
Ruby: update new cargo target directory in make and actions
2024-09-11 11:01:10 +02:00
Paolo Tranquilli
aa6726a401
Bazel: bump up rules_rust version
2024-09-11 10:43:49 +02:00
Geoffrey White
d374935008
Merge pull request #17384 from microsoft/brodes/overflow-buffer-fixes-upstream
...
Brodes/overflow buffer fixes upstream
2024-09-11 09:12:22 +01:00
Paolo Tranquilli
f624a1b7a7
Ruby: fix extractor pack script after workspace root change
2024-09-11 09:40:44 +02:00
Simon Friis Vindum
809d040528
Make more classes private and final
2024-09-11 09:37:39 +02:00
Paolo Tranquilli
2a7533c441
Rust: add to `labeler.yml
2024-09-11 09:33:43 +02:00
Paolo Tranquilli
304e68df30
Merge pull request #17426 from geoffw0/readme
...
Rust: Add a README.md
2024-09-11 09:26:27 +02:00
Paolo Tranquilli
f464759eb3
Merge pull request #17434 from github/redsun82/rust-experiment
...
Bazel: remove non-working fake `tree-sitter-extractor` workaround
2024-09-11 09:14:59 +02:00
Simon Friis Vindum
6d972bea2c
Rust: Add a few control flow tree classes
2024-09-11 09:08:54 +02:00
Simon Friis Vindum
91d5171d90
Add base setup for control flow graph construction
2024-09-11 09:08:53 +02:00
Paolo Tranquilli
f8c9d96882
Bazel: remove non-working fake tree-sitter-extractor workaround
...
The `.cargo/config.toml` override based workaround wasn't really
working, as while `cargo build|check` was reading that, `cargo metadata`
wasn't, ending up in a completely broken IDE experience.
For the moment, we just use a unified workspace `Cargo.toml` for all
extractors using the shared tree-sitter code, which has the downside of
making bazel pull in dependencies for all of them, and not being able to
do sparse checkouts for them. We should investigate and rivist this in
the future.
2024-09-11 08:17:11 +02:00
Sid Shankar
bc70d5ceb1
Adds change note
2024-09-11 00:52:21 +00:00
Sid Shankar
3436fc6177
Updates supported compiler docs
2024-09-11 00:46:09 +00:00
Sid Shankar
3516117215
Adds test for arbitrary specifiers in TS files
...
Adds test for arbitrary identifiers used in imports and exports
2024-09-11 00:37:49 +00:00
Sid Shankar
785af12f1c
Renames test file
2024-09-11 00:28:44 +00:00
Sid Shankar
aa787a9cb1
Handles arbitrary module identifiers
...
This commit enables support for arbitrary names for identifier and namespace imports and exports
2024-09-11 00:27:42 +00:00
Sid Shankar
2c74b5ee50
Updates TS extractor dependency to 5.6.2
2024-09-11 00:22:17 +00:00
Owen Mansel-Chan
13f8488148
Undo spurious test changes
...
The go libraries on my local computer seem to have
slightly different go libraries for some reason.
2024-09-10 23:50:33 +01:00
Alvaro Muñoz
061d58ae4a
Update javascript/ql/src/change-notes/2024-09-06-new-actions-artifact-leak-query.md
...
Co-authored-by: Asger F <asgerf@github.com >
2024-09-10 22:18:04 +02:00
Jeroen Ketema
ca10953761
C++: Update syntax zoo expected test results
2024-09-10 21:25:29 +02:00
Andrew Eisenberg
969c57c1c8
Update pull_request_template.md
...
Include a reminder about adding a query to autofix,
2024-09-10 11:42:14 -07:00
Jeroen Ketema
5754f8bac8
C++: Fix __finally related inconsistencies
2024-09-10 20:39:13 +02:00
Ben Rodes
58779e1b90
Merge branch 'main' into brodes/overflow-buffer-fixes-upstream
2024-09-10 13:46:24 -04:00
Jeroen Ketema
4c8aec0db5
Merge pull request #17421 from jketema/fix-except-inconsistency
...
C++: Fix IR inconsistency due to throwing `__except` block
2024-09-10 18:37:10 +02:00
Geoffrey White
7c95bb243e
Rust: Update example path.
2024-09-10 17:09:51 +01:00
Geoffrey White
6b0d7bcda8
Rust: Remove repo warning because we're merging into main real soon now...
2024-09-10 17:08:11 +01:00
Owen Mansel-Chan
270fa8d507
Add change note
2024-09-10 16:58:24 +01:00
Owen Mansel-Chan
84c41744c1
Include type parameter's index in its label
2024-09-10 16:52:44 +01:00
Owen Mansel-Chan
9aafcbc1e3
Add test for multiple anonymous type parameters
2024-09-10 16:40:53 +01:00
Paolo Tranquilli
4f90f5fb4c
Rust: accept test changes
2024-09-10 17:36:18 +02:00
Paolo Tranquilli
d04f0200e2
Rust: skip change note check for now
2024-09-10 17:35:53 +02:00
Arthur Baars
00bc40765c
Merge pull request #17427 from github/aibaars/rust-experiment
...
Fix definition of trap compression option
2024-09-10 17:15:04 +02:00
Arthur Baars
d6d52a97a2
Fix definition of trap compression option
...
unless the -Oextract_dependencies=true flag is supplied
2024-09-10 17:13:49 +02:00
Paolo Tranquilli
9c8f6145ab
Merge pull request #17408 from github/aibaars/rust-experiment
...
Rust: add partial extractor for Expr, Statement, Pattern
2024-09-10 17:09:47 +02:00
Geoffrey White
d9a37119f8
Update rust/README.md
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2024-09-10 16:04:22 +01:00
Geoffrey White
ac9afea75e
Rust: Add experimental warning and Bazelisk link.
2024-09-10 16:02:53 +01:00
Arthur Baars
bffdf2b179
Replace println with log statements
2024-09-10 16:59:32 +02:00
Rasmus Wriedt Larsen
e11bfc27bd
Docs: Fix link
2024-09-10 16:53:52 +02:00
Arthur Baars
f37b4aebc2
Only extract function bodies for local crates,
...
unless the -Oextract_dependencies=true flag is supplied
2024-09-10 16:49:13 +02:00
Arthur Baars
43e54fb0ae
Use custom target folder
2024-09-10 16:49:12 +02:00
Geoffrey White
8213bbb14a
Rust: Add a README.md
2024-09-10 15:47:40 +01:00
Rasmus Wriedt Larsen
e35c2b243a
Docs: Include 'Threat models' for Python
2024-09-10 16:44:03 +02:00
Michael Nebel
0abc08c773
C#: Add some synthetic field content based examples.
2024-09-10 15:24:00 +02:00
Michael Nebel
b94940b6d9
C#: Adjust existing model generator tests and update expected output.
2024-09-10 15:23:57 +02:00
Michael Nebel
da012a7a44
C#: Add the capture content summary models query.
2024-09-10 15:23:54 +02:00
Michael Nebel
e94890280a
C#: Sync changes and make language specific parts.
2024-09-10 15:23:51 +02:00
Michael Nebel
0fbeca14ad
Java: Add content based example with multiple paths.
2024-09-10 15:23:44 +02:00
Michael Nebel
9149a17d79
Java: Only keep the best generated model in terms of taint/value.
2024-09-10 15:23:38 +02:00
Michael Nebel
d7e61d07d1
Java: Update some model generator test cases.
2024-09-10 15:23:34 +02:00
Michael Nebel
d2c98c86dc
Java: Improve content based model generation.
2024-09-10 15:23:20 +02:00
Michael Nebel
7c0101ad06
Shared: Add some helper predicates to the AccessPath class in content flow.
2024-09-10 15:23:08 +02:00
Arthur Baars
1e830dad1a
Add ra_ap_paths dependency
2024-09-10 15:14:36 +02:00
Chuan-kai Lin
ba5218dfc0
Merge pull request #17420 from github/cklin/upgrade-properties-fix
...
C#: Fix trivial upgrade.properties errors
2024-09-10 06:11:23 -07:00
Paolo Tranquilli
26b9de3d63
Merge branch 'main' into rust-experiment
2024-09-10 15:00:20 +02:00
Rasmus Wriedt Larsen
038bc832a7
Go/Java/C#: Rename to ActiveThreatModelSource
...
As part of adding support for threat-models to Python/JS (see
https://github.com/github/codeql/pull/17203 ), we ran into some trouble
with name clashes.
Naming in existing languages supporting threat-models:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)
However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and we had to come up with new names.
Initially I used `ThreatModelSource` for the "QL only modeling", but
that meant that we needed a new name to represent the active sources
coming from either QL or data-extensions... for this I came up with
`ActiveThreatModelSource`, and I really liked it. To me, it's much
clearer that this class only contains the currently active threat
model sources.
So to align languages, I got approval from @michaelnebel to rename the
existing classes.
2024-09-10 14:46:15 +02:00
Rasmus Wriedt Larsen
5ff7b6557f
Python: Add links to threat-model docs
2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
cbebf7b392
Python: Additional threatModelSource annotations
2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
333367c07d
Python: Add threat-modeling of raw_input
2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
7d3793e718
Docs: Update threat-model list to include Python
2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
0ccb5b198a
Python: Add change-note
2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
a0b24d6194
Python: Add e2e threat-model test
2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
8d8cd05b94
Python: Add basic support for database threat-model
2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
7483075b7e
Python: Fixup modeling of os.open
2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
d245db54a1
Python: Model file threat-model
2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
66f389a4b6
Python: Model stdin thread-model
2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
e1801f3a29
Python: Proper threat-model handling for argparse
2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
56c85ffe54
Python: Fixup threat-models for os.environ.get()
...
Since using `.DictionaryElementAny` doesn't actually do a store on the
source, (so we can later follow any dict read-steps).
I added the ensure_tainted steps to highlight that the result of the
WHOLE expression ends up "tainted", and that we don't just mark
`os.environ` as the source without further flow.
2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
b9239d7101
Python: Add basic support for environment/commandargs threat-models
2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
528f08fb83
Python: Make queries use ActiveThreatModelSource
2024-09-10 14:32:35 +02:00
Jeroen Ketema
5f4fee0780
C++: Address review comments
2024-09-10 14:23:10 +02:00
Arthur Baars
a5d1d9e167
Make implementation more complete
...
Use Unimplemented to mark AstNodes that need implementing
2024-09-10 14:13:05 +02:00
Jeroen Ketema
500a2a0738
C++: Fix IR inconsistency due to throwing __except block
...
The fix consists of three parts:
* Ensure that an `Unwind` instruction is generated for functions that contain
a Microsoft `__try` statement, or a function that must throw.
* Do not manually introduce `Unwind` instructions for `__except` blocks, but
depend on the `Unwind` that we now insert in the function.
* Add missing `getExceptionSuccessorInstruction` predicate to
`TranslatedMicrosoftTryExceptHandler`
2024-09-10 12:41:43 +02:00
Arthur Baars
2ae725784c
Don't use _ to ignore things so rustc will show warnings for all the gaps in the implementation
2024-09-10 12:26:56 +02:00
Arthur Baars
b2451c6667
Improve schema
2024-09-10 12:26:54 +02:00
Arthur Baars
46bfefc99a
Address comments
2024-09-10 12:26:53 +02:00
Paolo Tranquilli
ef06b555c1
Rust: accept test changes
2024-09-10 11:29:54 +02:00
Jeroen Ketema
90f7b30997
Merge pull request #17418 from jketema/throw-inconsistent
...
C++: Add IR inconsistency test
2024-09-10 11:07:16 +02:00
Paolo Tranquilli
437b671035
Merge branch 'rust-experiment' into aibaars/rust-experiment
...
Also fixed conflicts and applied linting (can be done via
`rust/lint.py` or `pre-commit` configuration).
2024-09-10 10:24:49 +02:00
Paolo Tranquilli
38c25f96e5
Rust: add linting pre-commit hook
2024-09-10 10:22:45 +02:00
Paolo Tranquilli
37afad2f70
Merge pull request #17410 from github/redsun82/rust-ci
...
Rust: set up `codeql` CI
2024-09-10 10:04:24 +02:00
Dave Bartolomeo
ae3f3d0c25
Merge pull request #17419 from github/dbartol/cherry-pick-ruby
...
Fix upload in Ruby build
2024-09-09 16:49:57 -04:00
Dave Bartolomeo
78281168c2
Merge pull request #17417 from github/post-release-prep/codeql-cli-2.18.4
...
Post-release preparation for codeql-cli-2.18.4
2024-09-09 16:45:30 -04:00
Chuan-kai Lin
fae180f612
C#: Fix trivial upgrade.properties errors
2024-09-09 13:33:04 -07:00
Dave Bartolomeo
5961774f84
Include hidden files when uploading Ruby pack
2024-09-09 16:22:43 -04:00
Jeroen Ketema
dfa16423c0
C++: Add IR inconsistency test
2024-09-09 21:50:42 +02:00
github-actions[bot]
97edff3f70
Post-release preparation for codeql-cli-2.18.4
2024-09-09 18:45:46 +00:00
Dave Bartolomeo
561abced2d
Merge pull request #17416 from github/release-prep/2.18.4
...
Release preparation for version 2.18.4
2024-09-09 12:25:56 -04:00
Jeroen Ketema
6e0b5bcb63
Merge pull request #17414 from MathiasVP/add-more-try-except-testcases
...
C++: Add more IR inconsistency tests
2024-09-09 18:10:42 +02:00
github-actions[bot]
91537cdf9a
Release preparation for version 2.18.4
2024-09-09 16:08:48 +00:00
Mathias Vorreiter Pedersen
353cd8cc74
C++: Add more IR inconsistency tests.
2024-09-09 16:37:55 +01:00
Arthur Baars
42b1112be6
Rust: add default Element::toString
2024-09-09 15:05:04 +02:00
Arthur Baars
20ca8801e6
Revert "Rust: PrintAstNode: tolerate elements without toString"
...
This reverts commit 85e51bf0ec .
2024-09-09 15:01:32 +02:00
Arthur Baars
61592a3256
Rust: fix locations
...
In QL locations are 1-based inclusive ranges. The locations is rust are 0-based
and the end position is exclusive.
To patch things up, subtract 1 from the end offset and add 1 to all line and column numbers.
2024-09-09 14:56:37 +02:00
Jeroen Ketema
1250e72ebb
Merge pull request #17399 from jketema/simplify
...
C++: Re-introduce the original version of the `many_defs_per_use` IR test
2024-09-09 14:18:19 +02:00
Paolo Tranquilli
6f36ea9188
Merge branch 'main' into rust-experiment
...
Conflicts:
shared/tree-sitter-extractor/src/trap.rs
2024-09-09 14:15:34 +02:00
Paolo Tranquilli
f1cd9211e7
Merge pull request #17407 from github/redsun82/rust-extractor-generalize-location-cache
...
Tree-sitter: allow multiple sources per trap file
2024-09-09 14:12:33 +02:00
Michael B. Gale
6c8780a2f9
Merge pull request #17395 from github/mbg/go/1.23-changenote
...
Go: Add change note and update docs for Go 1.23
2024-09-09 13:06:46 +01:00
Arthur Baars
86215b4f02
Rename IfLet to IfStmt
2024-09-09 13:33:17 +02:00
Arthur Baars
85e51bf0ec
Rust: PrintAstNode: tolerate elements without toString
2024-09-09 13:29:49 +02:00
Arthur Baars
b40476423b
Rust: schema.py add '| child' markers
2024-09-09 13:29:45 +02:00
Arthur Baars
6acc107021
Prevent a panic on generated labels
2024-09-09 13:25:46 +02:00
Arthur Baars
6e6942b1d7
Rust: initial extractor for expressions and patterns
2024-09-09 13:25:45 +02:00
Arthur Baars
da8750e95e
Rust: extract each project only once
2024-09-09 13:25:44 +02:00
Arthur Baars
7c4383975f
Filter out trailing empty strings
2024-09-09 13:25:43 +02:00
Michael B. Gale
d69c1e9af6
Accept suggestion from review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2024-09-09 12:19:30 +01:00
Paolo Tranquilli
45c9eb1b94
Merge pull request #17411 from github/redsun82/rust-ci-internal
...
Rust: add dummy integration test
2024-09-09 13:06:29 +02:00
Paolo Tranquilli
d6b8dd15a9
Rust: add dummy integration test
2024-09-09 12:57:47 +02:00
Paolo Tranquilli
b0ca7935d7
Rust: update generated list file
2024-09-09 12:32:54 +02:00
Paolo Tranquilli
573b8b9373
Merge branch 'rust-experiment' into redsun82/rust-ci
2024-09-09 12:32:02 +02:00
Paolo Tranquilli
56e127849f
Rust/Codegen: fix generated list files
2024-09-09 12:31:09 +02:00
Paolo Tranquilli
9d08d248fe
Merge pull request #17396 from github/redsun82/rust-doctest-gen
...
Rust: generate test code from schema docstrings
2024-09-09 12:21:22 +02:00
Paolo Tranquilli
10a23c0843
Merge branch 'rust-experiment' into redsun82/rust-doctest-gen
2024-09-09 12:20:55 +02:00
Paolo Tranquilli
c979a949e1
Rust: fix CI codegen check
2024-09-09 12:15:07 +02:00
Paolo Tranquilli
ee2a8b09f6
Rust: fix formatting
2024-09-09 12:11:50 +02:00
Paolo Tranquilli
4512e4280d
Rust: add CI
2024-09-09 12:05:31 +02:00
Paolo Tranquilli
d8f37cf1f9
Rust: add codegen pre commit hook
2024-09-09 12:05:28 +02:00
Paolo Tranquilli
2c472dd5b8
Tree-sitter: fix formatting
2024-09-09 11:59:17 +02:00
Joe Farebrother
d1cca13563
Merge pull request #17314 from joefarebrother/python-x509-cert
...
Python: Exclude certificate classification fo sensitive data queries
2024-09-09 10:48:36 +01:00
Arthur Baars
ef34d24e53
Merge pull request #17390 from github/aibaars/rust-experiment
...
Add Expr, Stmt, Pat to schema.py
2024-09-09 11:27:53 +02:00
Paolo Tranquilli
7637393f75
Rust: resolve clippy and rustc warnings
2024-09-09 10:28:50 +02:00
Paolo Tranquilli
4454566d8d
Tree-sitter: allow multiple sources per trap file
...
This generalizes the location cache to allow multiple sources to be
extracted in the same trap file, by adding `file_label` to `Location`,
and therefore to location cache keys. This will be used by the Rust
extractor.
2024-09-09 09:17:45 +02:00
Paolo Tranquilli
3cd8aaf4b0
Rust: simplify rust doc test annotation
2024-09-09 08:59:17 +02:00
Arthur Baars
c8f73587cc
Rust: codegen: fix generated code
2024-09-07 10:32:59 +02:00
Alvaro Muñoz
d34a0ba306
Add change note
2024-09-06 23:28:57 +02:00
Alvaro Muñoz
5d1da861a2
fix: Use YamlScalar for booleans
2024-09-06 23:21:41 +02:00
Alvaro Muñoz
5df3af2272
Fix alert message
2024-09-06 23:06:57 +02:00
Alvaro Muñoz
d9e8792d33
[javascript] Query to detect GITHUB_TOKEN leaked in artifacts
2024-09-06 22:55:58 +02:00
Michael B. Gale
e165fc77b5
Merge pull request #17386 from github/dependabot/go_modules/go/extractor/extractor-dependencies-cf6e4563c3
...
Bump golang.org/x/mod from 0.20.0 to 0.21.0 in /go/extractor in the extractor-dependencies group
2024-09-06 18:54:36 +01:00
Arthur Baars
1a9b2329f4
Add SlicePat::{slice, suffix}
2024-09-06 19:27:35 +02:00
Arthur Baars
406d03edfc
Rename IfLet::else_branch to IfLet::else_
2024-09-06 18:40:03 +02:00
Arthur Baars
e8277015ab
Add subclasses for Array
2024-09-06 18:23:01 +02:00
Arthur Baars
69b05e835c
Add fields for OffsetOf
2024-09-06 18:17:15 +02:00
Arthur Baars
75113367c9
Add InlineAsm::expr
2024-09-06 18:14:14 +02:00
Arthur Baars
bc6da117d2
Fix type of Closure::arg_types
2024-09-06 17:59:24 +02:00
Jeroen Ketema
915d24c62f
C++: Re-introduce the original version of the many_defs_per_use IR test
...
See: 28cff2ea20
2024-09-06 17:38:29 +02:00
Paolo Tranquilli
928f3f11f1
Rust: remove <> from function wrapper
2024-09-06 14:34:12 +02:00
Paolo Tranquilli
ac9e977baa
Rust: remove accidental test source file
2024-09-06 14:29:10 +02:00
Paolo Tranquilli
18c423eb55
Rust: fix formatting of code snippet in docstring
2024-09-06 14:27:57 +02:00
Paolo Tranquilli
6111a7497d
Rust: remove accidental schema annotation
2024-09-06 14:26:36 +02:00
Paolo Tranquilli
8c5cc2efdc
Rust: generate test code from schema docstrings
...
This generates test source files from code blocks in class docstrings.
By default the test code is generated as is, but it can optionally:
* be wrapped in a function providing an adequate context using
`@rust.doc_test_function(name, *, lifetimes=(), return_type="()", **kwargs)`,
with `kwargs` providing both generic and normal params depending on
capitalization
* be skipped altogether using `@rust.skip_doc_test`
So for example an annotation like
```python
@rust.doc_test_function("foo",
lifetimes=("a",),
T="Eq",
x="&'a T",
y="&'a T",
return_type="&'a T")
```
will result in the following wrapper:
```rust
fn foo<'a, T: Eq>(x: &'a T, y: &'a T) -> &'a T {
// example code here
}
```
2024-09-06 14:24:42 +02:00
Felicity Chapman
967367bba6
Apply suggestions from code review
...
Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com >
2024-09-06 12:30:18 +01:00
Arthur Baars
a33c7703cd
Add Label class
2024-09-06 12:42:43 +02:00
Arthur Baars
e14b626917
Add 'BlockBase' class
2024-09-06 12:15:35 +02:00
Paolo Tranquilli
122e5a7598
Rust: remove accidental IDE files
2024-09-06 12:05:11 +02:00
Cornelius Riemenschneider
9b12df5ae4
Merge pull request #17389 from github/criemen/bzlmod-upgrades
...
CI: Upgrade bazel rules.
2024-09-06 12:02:13 +02:00
Michael B. Gale
c34fe9eda2
Go: Add change note for 1.23 support
2024-09-06 10:52:10 +01:00
Michael B. Gale
3f94ed19bd
Docs: Add Go 1.23 to supported range
2024-09-06 10:50:08 +01:00
Arthur Baars
ce2fdb3463
Address comments
2024-09-06 11:47:08 +02:00
Michael B. Gale
d1b311f11f
Merge pull request #17358 from github/mbg/go/1.23-transparent-aliases
...
Go: Support 1.23 (Transparent aliases)
2024-09-06 10:46:41 +01:00
Michael Nebel
a5b462292f
Merge pull request #17330 from michaelnebel/java/modelgenfieldbased
...
Java/C#: Field based model generator (Experimental).
2024-09-06 11:11:46 +02:00
Cornelius Riemenschneider
c75f55debf
Merge branch 'main' into criemen/bzlmod-upgrades
2024-09-06 10:41:52 +02:00
Jeroen Ketema
b73b8682b4
Merge pull request #17371 from jketema/correct-include
...
C++: Update expected test results after extractor changes
2024-09-06 09:38:06 +02:00
Paolo Tranquilli
8ecba44ea9
Rust: add experimental bazel target
2024-09-06 09:29:54 +02:00
dependabot[bot]
3c1e3b66ec
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.20.0 to 0.21.0
- [Commits](https://github.com/golang/mod/compare/v0.20.0...v0.21.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-09-06 03:21:50 +00:00
Michael B. Gale
1e32e84b1f
Merge pull request #17369 from smowton/smowton/admin/aliasing-tests
...
Go: add tests regarding type aliasing
2024-09-05 21:16:08 +01:00
Michael B. Gale
772bc9b5c8
Go: Bump everything to 1.23.1
2024-09-05 21:12:46 +01:00
Michael B. Gale
9aeaae6068
Go: Bump maxGoVersion to 1.23
2024-09-05 21:12:45 +01:00
Michael B. Gale
6ef5063ff0
Go: Format Aliases.ql
2024-09-05 21:12:44 +01:00
Michael B. Gale
195f37267e
Go: Accept new test results
2024-09-05 21:12:44 +01:00
Michael B. Gale
8380d71b01
Go: Add test for AliasType extraction
2024-09-05 21:12:43 +01:00
Michael B. Gale
1a9608a1f5
Go: Don't extract objects for type aliases
2024-09-05 21:12:42 +01:00
Michael B. Gale
97c3efccd1
Go: Factor out isAlias function
2024-09-05 21:12:42 +01:00
Michael B. Gale
c5b8163493
Go: Handle Alias types by extracting the underlying types
2024-09-05 21:12:41 +01:00
Michael B. Gale
c8e732468a
Go: Update frontend error messages for Go 1.23
2024-09-05 21:12:40 +01:00
Michael B. Gale
4dead2bd8d
Go: Use 1.23 for extractor
2024-09-05 21:12:40 +01:00
Michael B. Gale
ca796b0383
Go: Use 1.23 in tests
2024-09-05 21:12:39 +01:00
Michael B. Gale
d790d1ff08
Go: Use 1.23 in build process
2024-09-05 21:12:38 +01:00
REDMOND\brodes
1005a89007
Updating test cases.
2024-09-05 15:25:23 -04:00
Jeroen Ketema
a8b8eb42c0
Merge pull request #17391 from MathiasVP/add-unexpected-loop-inconsistency
...
C++: Add testcase with IR inconsistencies
2024-09-05 21:03:57 +02:00
Mathias Vorreiter Pedersen
25d7f17efc
C++: Add testcase with IR inconsistencies.
2024-09-05 19:32:53 +01:00
Jeroen Ketema
78c6c09912
Merge pull request #13560 from am0o0/amammad-cpp-bombs
...
C++: Decompression Bombs
2024-09-05 20:01:02 +02:00
Am
a226bdfbd3
Merge pull request #3 from jketema/amammad-cpp-bombs
...
C++: Fix expected test results
2024-09-05 21:31:03 +04:00
Michael Nebel
e1048cf8ea
Java/C#: Address review comments.
2024-09-05 19:23:05 +02:00
Jeroen Ketema
e891c5a882
C++: Fix expected test results
2024-09-05 17:48:11 +02:00
am0o0
401bb24fde
remove redundent zStreamAccess in flow steps
2024-09-05 17:09:26 +02:00
am0o0
faef6359dd
add '// BAD' comment for the zstd sink
2024-09-05 17:05:21 +02:00
Arthur Baars
679d81ab00
Rust: extract dummy Function body
2024-09-05 16:59:30 +02:00
Arthur Baars
46d6bbb458
Rust: update generated code
2024-09-05 16:59:29 +02:00
Arthur Baars
76c35bec93
Rust: add Expr, Pat, Stmt to schema
2024-09-05 16:59:28 +02:00
Arthur Baars
0516505033
Rust: update dependencies
2024-09-05 16:58:41 +02:00
Ben Rodes
8ab22feae1
Update cpp/ql/test/query-tests/Security/CWE/CWE-119/semmle/tests/tests.cpp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-09-05 10:07:19 -04:00
Jeroen Ketema
5b65f98e2c
C++: Update expected test results after extractor changes
...
The updated test results look more correct, as the documentation of
`#include_next` [1] that it should start looking in the next directory
in the search path. Before this update, the frontend was actually
looking in the current directory first, which is incorrect.
[1] https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html
2024-09-05 15:17:43 +02:00
Arthur Baars
6fd469c807
Rust: use autodiscovery for sysroot
...
This should make the rust-analyzer library look for a rust toolchain and
try to start the proc-macro server.
2024-09-05 14:49:37 +02:00
Arthur Baars
d93330bc4c
Rust: make printAst work
2024-09-05 14:49:36 +02:00
Arthur Baars
d8eb5d463d
Rust: run cargo fmt
2024-09-05 14:45:47 +02:00
Arthur Baars
60b349f7e5
Rust: remove 'take(1)' from crates iterator
2024-09-05 14:45:46 +02:00
Arthur Baars
be16954521
Rust: add autobuild.sh
2024-09-05 14:45:45 +02:00
Arthur Baars
52ef1e382a
Add 'version' field to generated Cargo.toml file
2024-09-05 14:45:44 +02:00
Owen Mansel-Chan
013ee34de7
Merge pull request #17381 from owen-mc/go/fix/qldoc/resultvariabledecl
...
Go: Fix QLDoc for ResultVariableDecl
2024-09-05 11:57:45 +01:00
Paolo Tranquilli
b23e482ed2
Merge branch 'main' into rust-experiment
2024-09-05 12:29:29 +02:00
Paolo Tranquilli
28a7fca7ed
Merge pull request #17387 from github/redsun82/bazel
...
Bazel: stub internal repo parts needed for building rust binaries
2024-09-05 12:28:18 +02:00
Owen Mansel-Chan
9786934d9a
Remove errant space at end of line
2024-09-05 11:27:20 +01:00
Cornelius Riemenschneider
f76a190ed1
CI: Upgrade bazel rules.
2024-09-05 11:40:06 +02:00
Simon Friis Vindum
5950af390d
Merge pull request #17351 from paldepind/swap-member-data-flow
...
C++: Make swap member functions data-flow functions
2024-09-05 11:39:16 +02:00
Owen Mansel-Chan
5bafa8ace2
Add comment about x, y int being a single ResultVariableDecl
2024-09-05 10:27:11 +01:00
Jeroen Ketema
b6e38ff862
Merge pull request #17342 from jketema/coroutine
...
C++: Fix coroutine IR inconsistencies
2024-09-05 10:15:16 +02:00
Paolo Tranquilli
57534599c8
Merge pull request #17352 from github/redsun82/swift
...
Swift: upgrade prebuilt toolchain to 5.10.1
2024-09-05 09:17:06 +02:00
Paolo Tranquilli
7c80b33a63
Bazel: add forgotten files
2024-09-05 08:26:41 +02:00
Paolo Tranquilli
913a9263d2
Bazel: stub internal repo parts needed for building rust binaries
...
This is another shot at https://github.com/github/codeql/pull/17382 ,
using a different and more lightweight approach.
This allows building the ruby and python (and in the future also rust)
packs from within the codeql repository. This will:
* skip defining the glibc symbols checking, which only makes sense when
building the release from the internal repository
* stub out our `universal_binary` rule, which we only need when building
the release.
2024-09-05 08:16:28 +02:00
Am
05bdce1cd3
Merge pull request #2 from jketema/amammad-cpp-bombs
...
C++: Fix zstd and clean up test
2024-09-05 07:53:00 +04:00
Joe Farebrother
959715ac8e
Merge pull request #16814 from porcupineyhairs/pyCors
...
WIP: Python: CORS Bypass
2024-09-05 02:43:02 +01:00
Chris Smowton
fe9d879e37
Prettify tests
2024-09-04 22:33:21 +01:00
Chris Smowton
4c5344d62a
Accept test suggestions
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2024-09-04 22:30:17 +01:00
Jeroen Ketema
3aa68b34bb
C++: Fix zstd and clean up test
2024-09-04 22:25:44 +02:00
Cornelius Riemenschneider
f9e956dc94
Merge pull request #17377 from github/criemen/csharp-move-jobs
...
C#: Delete jobs that moved to the internal repo.
2024-09-04 20:10:26 +02:00
Cornelius Riemenschneider
e542d66719
Merge pull request #17380 from github/mbg/backport/bazel/dependencies/rules_go-0.50.0
...
Backport "Bazel/Go: Bump rules_go to 0.50.0" to `rc/3.15`
2024-09-04 19:32:02 +02:00
Cornelius Riemenschneider
627c533e98
Fix typo.
2024-09-04 19:27:00 +02:00
REDMOND\brodes
78898955b6
Updating change log
2024-09-04 12:54:27 -04:00
Chris Smowton
cbd129fddd
Add test for aliasing interface method definitions
2024-09-04 17:53:45 +01:00
REDMOND\brodes
6f1aade8e0
Added change log
2024-09-04 12:51:37 -04:00
Jeroen Ketema
fd9a5ee453
Update cpp/downgrades/7ff6a6e53dbcff09d1b9b758b594bc6d17366863/coroutine.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-09-04 18:45:33 +02:00
REDMOND\brodes
77b88afa9e
Removing commented out code and altering comments to explain why the code was removed.
2024-09-04 12:44:36 -04:00
Andrew Eisenberg
c86b5790ff
Merge pull request #17281 from github/aeisenberg/pr-template
...
Add a pull request template
2024-09-04 09:41:46 -07:00
REDMOND\brodes
cc953c87d9
Added test case to demonstrate type error corrected in this branch.
2024-09-04 12:41:05 -04:00
Pierre
9bd706a576
Merge pull request #17375 from github/changedocs-2.18.3-2
...
Add changelogs up to 2.18.3
2024-09-04 18:13:22 +02:00
REDMOND\brodes
e4d29905a9
Formatting and updating tests.
2024-09-04 11:16:24 -04:00
REDMOND\brodes
f0eeaaf44e
BufferAccess must be reachable. False positives observed where accesses occur in dead code.
2024-09-04 11:16:23 -04:00
REDMOND\brodes
abd0a076a8
Addressing false positive with strncpy.
2024-09-04 11:16:21 -04:00
REDMOND\brodes
9105375097
Addreessing false positive due to incorrect use of getType
2024-09-04 11:16:19 -04:00
Felicity Chapman
529bee4d73
Add link to MRVA
2024-09-04 15:57:01 +01:00
Felicity Chapman
4cdef853d2
Add metadata to two key topics to help with SEO
2024-09-04 15:42:18 +01:00
Felicity Chapman
e58bb88ee8
Make more security researcher focused
2024-09-04 15:29:47 +01:00
Am
4fa462417f
Merge pull request #1 from jketema/amammad-cpp-bombs
...
Cleanup cpp bombs
2024-09-04 18:06:04 +04:00
Owen Mansel-Chan
351c50afc1
Fix QLDoc for ResultVariableDecl
2024-09-04 14:02:35 +01:00
Michael B. Gale
66af4fd337
Bazel: Bump rules_go to 0.50.0
2024-09-04 13:47:21 +01:00
Michael B. Gale
cd8a5d7707
Merge pull request #17378 from github/mbg/go/improve-typeparamtype
...
Go: Add `getParent` and `getIndex` for `TypeParamType`
2024-09-04 13:31:51 +01:00
Erik Krogh Kristensen
8508056e72
Merge pull request #17349 from erik-krogh/del-deps-sep-2024
...
All: delete outdated deprecations
2024-09-04 14:18:31 +02:00
Jeroen Ketema
9b905d5e84
C++: Set precision to low
...
There are no barriers, so the query as is will flag up any use of the
identified functions.
2024-09-04 14:13:43 +02:00
Jeroen Ketema
238895e677
C++: Fix formatting
2024-09-04 14:10:24 +02:00
Jeroen Ketema
92c6170a76
C++: Simplify QLhelp
...
One good and one bad example suffices to get the point across, and makes the
help more readable. The examples also do not have to be complete.
2024-09-04 14:06:12 +02:00
Simon Friis Vindum
f066f21751
C++: Make swap member functions data-flow functions
2024-09-04 13:55:19 +02:00
Tom Hvitved
ce2df04854
Merge pull request #17350 from hvitved/tree-sitter-0.23
...
Bump `tree-sitter` to `0.23.0`
2024-09-04 13:45:14 +02:00
Jeroen Ketema
2369b18ca6
C++: Make additional flow steps more uniform
2024-09-04 13:43:03 +02:00
Michael B. Gale
db72bd4f96
Go: Add getParent and getIndex for TypeParamType
2024-09-04 12:28:58 +01:00
Tamás Vajk
6c28abdad7
Merge pull request #17373 from tamasvajk/add-build-mode-none-change-note-2
...
C#: Add change note for `build-mode:none` GA
2024-09-04 13:24:17 +02:00
Jeroen Ketema
8fe0d0a045
C++: Improve query output
2024-09-04 13:22:02 +02:00
Jeroen Ketema
8d22d147b8
C++: Clean up QLDoc
2024-09-04 13:16:56 +02:00
Cornelius Riemenschneider
05ffb47711
Merge pull request #17334 from github/criemen/rename-java
...
Java: Rename integration test directories.
2024-09-04 12:51:51 +02:00
Erik Krogh Kristensen
4258119ba3
Merge branch 'main' into del-deps-sep-2024
2024-09-04 12:43:41 +02:00
Erik Krogh Kristensen
49aaf65f3f
fix mistake in the Python change-note
...
Co-authored-by: Taus <tausbn@github.com >
2024-09-04 12:43:01 +02:00
Cornelius Riemenschneider
b253b4ff49
C#: Delete jobs that moved to the internal repo.
...
All jobs that are deleted have been moved to the internal repo.
The unit tests are also run internally through bazel,
but keeping them here also tests the msbuild build.
2024-09-04 12:39:30 +02:00
Paolo Tranquilli
c38281528f
Merge branch 'main' into redsun82/swift
2024-09-04 12:14:34 +02:00
Jeroen Ketema
65fafbf4df
C++: Fix QL-for-QL warnings
2024-09-04 11:57:10 +02:00
Jeroen Ketema
084dbc4e12
C++: Rename qhelp file to match ql file
2024-09-04 11:48:42 +02:00
Jeroen Ketema
c048401ca7
C++: Clean up Brotli test
2024-09-04 11:40:32 +02:00
turbo
bd45c1fdbe
Add changelogs
2024-09-04 11:39:35 +02:00
Jeroen Ketema
0f98e292ed
C++: Cleanup minizip test
2024-09-04 11:19:22 +02:00
Tamas Vajk
d4947cc1a2
C#: Add change note for build-mode:none GA
2024-09-04 11:13:31 +02:00
Owen Mansel-Chan
27e9c1b885
Merge pull request #17266 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2024-09-04 10:05:20 +01:00
Jeroen Ketema
09f6576e6b
C++: Simplify libarchive test
2024-09-04 11:04:21 +02:00
Jeroen Ketema
078e63524c
C++: Remove code that is irrelevant for the zlib test
2024-09-04 10:48:25 +02:00
Anders Schack-Mulligen
7b8e707465
Merge pull request #17362 from aschackmull/dataflow/typofix
...
Dataflow: Fix minor typo.
2024-09-04 10:39:31 +02:00
Owen Mansel-Chan
1e225d7c44
Merge pull request #17366 from owen-mc/go/edit-release-change-notes
...
Go: Remove threat models change note from 1.15.md
2024-09-04 09:37:28 +01:00
Jeroen Ketema
ad3605c595
C++: Minor test clean up
2024-09-04 10:26:53 +02:00
Jeroen Ketema
d8a70d8d58
C++: Add test annotations
2024-09-04 10:23:51 +02:00
Jeroen Ketema
751e7e6bfb
C++: Remove useless function bodies from tests
2024-09-04 10:03:19 +02:00
Jeroen Ketema
d526f1d081
C++: Disentangle confusing test results by declaring only a single main
2024-09-04 09:51:03 +02:00
Tom Hvitved
eb1b2a5594
Bump tree-sitter to 0.23.0
2024-09-04 09:47:59 +02:00
Jeroen Ketema
50d9e77339
C++: Move experimental files into the correct locations
2024-09-04 09:33:27 +02:00
Simon Friis Vindum
04f4039adc
Merge pull request #17354 from paldepind/realloc-data-flow
...
C++: Make realloc a data-flow function
2024-09-04 09:04:12 +02:00
Michael Nebel
99400fe3d4
Merge pull request #17346 from michaelnebel/csharp/madsynthetics
...
C#: Support SyntheticField in MaD.
2024-09-04 08:28:07 +02:00
Simon Friis Vindum
75643043bc
Update change note for realloc
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2024-09-04 07:38:49 +02:00
github-actions[bot]
3eeb79c599
Add changed framework coverage reports
2024-09-04 00:19:10 +00:00
Andrew Eisenberg
3f5a146a1c
Reformulate bullet points
2024-09-03 15:25:43 -07:00
Chris Smowton
6ed0a37efd
Autoformat
2024-09-03 21:29:56 +01:00
Chris Smowton
bf2fb2f6e2
Add tests for interface implementation across aliasing
2024-09-03 21:18:20 +01:00
erik-krogh
e2b16bd8f9
add some change-notes
2024-09-03 22:06:07 +02:00
erik-krogh
e76dcf9df9
delete a test for a deleted file
2024-09-03 20:31:01 +02:00
erik-krogh
846882d22c
delete imports to a deleted file
2024-09-03 20:31:00 +02:00
erik-krogh
20dfdc9661
delete some deprecated files
2024-09-03 20:30:59 +02:00
erik-krogh
0fdd06fff5
use my script to delete outdated deprecations
2024-09-03 20:30:58 +02:00
Chris Smowton
73cc7460f3
Fix test; update expectations per autoformat changes
2024-09-03 18:44:30 +01:00
Chris Smowton
a94601c8c0
Add test checking for entity counts and def-use matches under aliasing
2024-09-03 17:58:09 +01:00
Dave Bartolomeo
ea0877769e
Merge pull request #17368 from github/dbartol/ruby-hidden
...
Include hidden files when uploading Ruby pack
2024-09-03 12:49:26 -04:00
Jeroen Ketema
8ca52f278a
C++: Fix coroutine IR inconsistencies
...
While here, remove some dead code related to fixed points from the database
scheme.
2024-09-03 18:12:36 +02:00
Dave Bartolomeo
36c71a9592
Include hidden files when uploading Ruby pack
2024-09-03 11:47:02 -04:00
Jeroen Ketema
62766f68fc
Merge pull request #17138 from jketema/generic
...
C++: Support C11 `_Generic` expressions
2024-09-03 17:26:50 +02:00
Owen Mansel-Chan
f5c195d830
Remove change note from 1.15.md
...
We will include this change note when there is documentation about how to use the functionality.
2024-09-03 16:24:55 +01:00
Jeroen Ketema
52819432c0
C++: Address review comment
2024-09-03 17:18:18 +02:00
Simon Friis Vindum
d5948d2d95
C++: Add change-note note for realloc as data-flow function
2024-09-03 16:15:05 +02:00
am0o0
386e45a11e
delete bzip2 as it is not updated for more than three years so it is not in the priority
2024-09-03 15:33:14 +02:00
am0o0
81283d59ab
remove more unused imports, add tests for zstd, add flow steps for zstd
...
zstd is not finilized
2024-09-03 15:26:38 +02:00
Michael B. Gale
5e390a3b01
Merge pull request #17359 from github/mbg/bazel/dependencies/rules_go-0.50.0
...
Bazel/Go: Bump `rules_go` to 0.50.0
2024-09-03 14:00:18 +01:00
am0o0
4fc971dbcb
remove xz(lzma)
2024-09-03 14:48:52 +02:00
Anders Schack-Mulligen
a0f0854fdb
Dataflow: Fix minor typo.
2024-09-03 14:26:02 +02:00
am0o0
6c97096642
remove unused imports, add tests for libarchive
2024-09-03 14:16:25 +02:00
Felicity Chapman
68cbe35d96
Fix a bad link
2024-09-03 13:08:07 +01:00
Simon Friis Vindum
037912fd2d
C++: Add data-flow test for realloc
2024-09-03 14:02:03 +02:00
Felicity Chapman
44ca530087
Update template to match changes to landing page
2024-09-03 12:59:29 +01:00
Felicity Chapman
f44905324e
Add article on running queries
2024-09-03 12:55:56 +01:00
Felicity Chapman
5f1e62aefe
Update landing page to focus on language
2024-09-03 12:54:45 +01:00
Michael B. Gale
c05c1d5087
Bazel: Bump rules_go to 0.50.0
2024-09-03 12:42:40 +01:00
am0o0
9531701129
delete miniz support because there is no good documents and i don't have enough time as the library is not popular enough. add tests for minizip lib
2024-09-03 13:08:00 +02:00
Michael Nebel
7bf7df2f99
C#/Java: Add model generator option for making content based summaries.
2024-09-03 12:58:13 +02:00
Michael Nebel
6e8941ea9d
C#: Add a couple more testcases.
2024-09-03 12:58:09 +02:00
Michael Nebel
4123876343
C#: Add content based summary generation test.
2024-09-03 12:58:06 +02:00
Michael Nebel
486246c82d
C#: Sync changes and make C# implementation.
2024-09-03 12:58:04 +02:00
Michael Nebel
5ddcb16cd6
Java: Add content based model generation test.
2024-09-03 12:58:01 +02:00
Geoffrey White
1ff6c4c090
C++: Restore change and see effect on test.
2024-09-03 11:55:06 +01:00
Geoffrey White
5bd58f044e
C++: Add a direct test of getOverlap and a test case for it.
2024-09-03 11:52:20 +01:00
am0o0
e85ca79d77
add tests for brotli
2024-09-03 12:28:16 +02:00
Tom Hvitved
26c5e7b2d1
Merge pull request #17308 from hvitved/dataflow/flow-through-restriction
...
Data flow: Reduce non-linear recursion in `fwdFlow0`
2024-09-03 11:30:57 +02:00
Simon Friis Vindum
78068a488f
C++: Make realloc a data-flow function
2024-09-03 11:25:18 +02:00
Cornelius Riemenschneider
2dfca8ab20
Merge branch 'main' into criemen/rename-java
2024-09-03 11:04:29 +02:00
Paolo Tranquilli
59423c692f
Swift: upgrade prebuilt toolchain to 5.10.1
2024-09-03 10:38:58 +02:00
Tom Hvitved
07fcd81e7e
Address review comments
2024-09-03 10:13:09 +02:00
Michael Nebel
6365e5edff
Java: Initial implementation of content based model generation.
2024-09-03 09:45:11 +02:00
Michael Nebel
4bdf21b022
Java: Add Content Flow module.
2024-09-03 09:45:07 +02:00
am0o0
49eaaf55a5
Merge branch 'amammad-cpp-bombs' of https://github.com/am0o0/codeql into amammad-cpp-bombs
2024-09-03 09:13:08 +02:00
am0o0
8c1c537150
finilize tests for zlib
2024-09-03 09:12:54 +02:00
am0o0
89e842b147
finilize tests for zlib
2024-09-03 09:12:13 +02:00
Porcupiney Hairs
e2dd126962
Python: Pycurl SSL Disabled
2024-09-03 03:41:23 +05:30
Porcupiney Hairs
f86570f6e7
WIP: Python: CORS Bypass
...
This PR adds a query to detect a Cross Origin Resource Sharing(CORS) policy bypass due to an incorrect check.
This PR attempts to detect the vulnerability pattern found in CVE-2022-3457
```python
if request.method in ['POST', 'PUT', 'PATCH', 'DELETE']:
origin = request.headers.get('Origin', None)
if origin and not origin.startswith(request.base):
raise cherrypy.HTTPError(403, 'Unexpected Origin header')
```
In this case, a value obtained from a header is compared using `startswith` call. This comparision is easily bypassed resulting in a CORS bypass. Given that similar bugs have been found in other languages as well, I think this PR would be a great addition to the exisitng python query pack.
The databases for CVE-2022-3457 can be downloaded from
```
https://filetransfer.io/data-package/i4Mfepls#link
https://file.io/V67T4SSgmExF
```
2024-09-03 03:11:35 +05:30
Jeroen Ketema
ffab199ea8
Merge pull request #17348 from jketema/test-fix
...
C++: Update expected test results after #17347
2024-09-02 21:53:13 +02:00
Jeroen Ketema
ae7bf6c97d
C++: Update expected test results after #17347
2024-09-02 21:17:55 +02:00
Tom Hvitved
1057bb443f
Data flow: Simplify FwdFlowIn interface
2024-09-02 16:10:34 +02:00
Simon Friis Vindum
ee6c255a7c
Merge pull request #17328 from paldepind/tweak-unbounded-barrier
...
C++: Tweak the `bounded` barrier
2024-09-02 14:30:44 +02:00
Simon Friis Vindum
e294c8e68f
Merge pull request #17347 from paldepind/test-for-uninitialized-local
...
C++: Add test for cpp/uninitialized-local and va_copy
2024-09-02 14:00:34 +02:00
Geoffrey White
c082c256a2
Merge pull request #17244 from geoffw0/swiftdoc2
...
Swift: Work around some QHelp rendering issues.
2024-09-02 12:26:23 +01:00
Simon Friis Vindum
660869e834
C++: Add test for cpp/uninitialized-local and va_copy
2024-09-02 13:25:02 +02:00
Tamás Vajk
39a73303d1
Merge pull request #17333 from github/criemen/rename-csharp
...
C#: Rename integration test directories.
2024-09-02 13:04:58 +02:00
Henry Mercer
4ebfafbec2
Merge pull request #17336 from github/henrymercer/rc-3.15-mergeback
...
Merge `rc/3.15` back into `main`
2024-09-02 11:43:19 +01:00
Michael Nebel
4f4c7bfbb9
C#: Update expected test output.
2024-09-02 11:13:16 +02:00
Michael Nebel
6e81d74558
C#: Add support for synthetic fields in MaD for C#.
2024-09-02 11:13:11 +02:00
Michael Nebel
0d343c5ce1
C#: Add external flow tests for synthetic fields.
2024-09-02 11:13:06 +02:00
Paolo Tranquilli
885e89a927
Rust: first running tests
2024-08-30 17:45:51 +02:00
Tom Hvitved
642ec38589
Merge pull request #17340 from hvitved/csharp/ssa-exclude-enums
2024-08-30 16:31:38 +02:00
Paolo Tranquilli
7e1290aa74
Rust: reuse shared rust trap library
2024-08-30 16:08:37 +02:00
Joe Farebrother
ec7ad84cd1
Update formatting
2024-08-30 13:51:33 +01:00
Joe Farebrother
5360192a58
Apply review suggestions - change = to in
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-08-30 13:25:59 +01:00
Jeroen Ketema
4945943732
C++: Support C11 _Generic expressions
2024-08-30 14:24:03 +02:00
Paolo Tranquilli
4f0fe1ce3a
Rust: bazel packaging
2024-08-30 13:05:46 +02:00
Tom Hvitved
4ef4ede0b1
C#: Do not calculate field-based SSA for enums
2024-08-30 11:19:07 +02:00
Tom Hvitved
a9b5faa6ab
C#: Add SSA test for enums
2024-08-30 11:19:06 +02:00
Jeroen Ketema
30335ab81e
C++: Add C11 _Generic IR tests
2024-08-30 10:50:49 +02:00
Paolo Tranquilli
3da6cee6ef
Merge branch 'main' into rust-experiment
2024-08-30 10:30:43 +02:00
Cornelius Riemenschneider
321820e758
Java: Rename integration test directories.
...
We are no longer bound to the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
I kept the platform-specific directories around under `kotlin`,
but you could also easily merge all these together if you find them unhelpful.
I'll leave that change to you.
2024-08-30 10:28:25 +02:00
Paolo Tranquilli
04753b286f
Rust: tweak trap_key
2024-08-30 10:12:20 +02:00
Michael Nebel
89c387cf5c
Merge pull request #17326 from michaelnebel/shared/contentflowtaint
...
DataFlow: Bugfix in content flow state for value preservation.
2024-08-30 09:23:50 +02:00
Andrew Eisenberg
13705531b5
Update .github/pull_request_template.md
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2024-08-29 14:47:54 -07:00
Henry Mercer
3490067316
Merge branch 'main' into henrymercer/rc-3.15-mergeback
2024-08-29 19:48:01 +01:00
Henry Mercer
d5bccd5373
Reapply "C#: Add support for flow through side-effects on static fields"
...
This reverts commit ea6092ad3f .
2024-08-29 19:47:53 +01:00
Cornelius Riemenschneider
092ce01d93
C#: Rename integration test directories.
...
We are no longer bound to the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
This is not very invasive for C#, I'm just dropping the `only`
suffix. You could also merge all the platform-specific test dirs,
or all test dirs into the top-level directory. I'll leave that up to you.
2024-08-29 19:06:56 +02:00
Cornelius Riemenschneider
72e2910d17
Merge pull request #17315 from github/criemen/pytest-java
...
Java: Port all integration tests to pytest
2024-08-29 18:05:52 +02:00
Paolo Tranquilli
590a146b49
Rust: some basic extraction of function names (with locations!)
2024-08-29 17:58:50 +02:00
Cornelius Riemenschneider
5ecc6f9dc8
Merge remote-tracking branch 'origin/main' into criemen/pytest-java
2024-08-29 16:43:46 +02:00
Cornelius Riemenschneider
dd7f757281
Address review.
2024-08-29 16:43:27 +02:00
Michael Nebel
ff31aa540c
Address review comments.
2024-08-29 15:54:04 +02:00
Michael Nebel
0df0d8a51f
Merge pull request #17236 from michaelnebel/java/viablecallableheuristic
...
Java: Make more finegrained dataflow dispatch viable callable heuristic.
2024-08-29 10:46:30 +02:00
Joe Farebrother
5494389c4b
Update changenote
...
Co-authored-by: Sid Shankar <sidshank@github.com >
2024-08-29 09:44:23 +01:00
Simon Friis Vindum
e7f059ae55
C++: Tweak the bounded barrier
2024-08-29 10:32:31 +02:00
Michael Nebel
53b2471c9d
Java: Update expected test output.
2024-08-29 09:03:46 +02:00
Cornelius Riemenschneider
047a655dec
Merge pull request #17324 from github/criemen/move-swift-int-tests
...
Swift: Move all integration tests.
2024-08-28 21:27:26 +02:00
Simon Friis Vindum
edeefe5bb6
Merge pull request #17298 from paldepind/model-functions-that-dont-throw
...
C++: Add basic modeling of functions that don't throw
2024-08-28 19:50:31 +02:00
Tom Hvitved
49a4f3a82f
Data flow: Reduce non-linear recursion in fwdFlow0
2024-08-28 17:29:23 +02:00
Paolo Tranquilli
f40901f391
Rust: archiving + skeleton def translator
2024-08-28 17:15:49 +02:00
Michael Nebel
fa5d6f12be
Java: Update logging test expected output.
2024-08-28 16:16:16 +02:00
Michael Nebel
bd5529cefa
Java: Update the Byte- and CharBuffer models and add models for set- and getParameters on LogRecord.
2024-08-28 16:15:09 +02:00
Michael Nebel
395656a1cf
Java: Extend the logging test with a test case for parameters.
2024-08-28 16:13:32 +02:00
Cornelius Riemenschneider
123c375d84
Merge pull request #17322 from github/criemen/move-js-int-tests
...
JS: Move all integration tests.
2024-08-28 16:04:39 +02:00
Jeroen Ketema
40fe39c288
Merge pull request #17311 from jketema/builtins
...
C++: Add support for more clang builtins
2024-08-28 16:00:08 +02:00
Simon Friis Vindum
d1fecd869b
C++: Make StringCchPrintf not extend NonThrowingFunction
2024-08-28 15:40:14 +02:00
Cornelius Riemenschneider
966c3a62dd
Merge pull request #17309 from github/criemen/bazel-prerelease
...
Bazel: switch to a 7.4.0 prerelease.
2024-08-28 15:28:06 +02:00
Jeroen Ketema
2b571cf450
C++: Address review comments
2024-08-28 15:11:42 +02:00
Michael Nebel
e8595e28e9
Update java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2024-08-28 15:04:38 +02:00
Anders Schack-Mulligen
dd49fc932d
Merge pull request #17325 from aschackmull/dataflow/state-in-summary
...
Dataflow: Include FlowState in SummaryCtx.
2024-08-28 15:03:18 +02:00
Cornelius Riemenschneider
ab56e63f96
Merge branch 'main' into criemen/pytest-java
2024-08-28 14:47:49 +02:00
Michael Nebel
6d346dbedd
DataFlow: Bugfix in flow state for value preservation.
2024-08-28 14:40:04 +02:00
Anders Schack-Mulligen
6a9bd0de1d
Dataflow: Include FlowState in SummaryCtx.
2024-08-28 14:13:28 +02:00
Jeroen Ketema
026969b6e9
C++: Add change note
2024-08-28 13:08:44 +02:00
Jeroen Ketema
9e861ce717
C++: Add support for more clang builtins
2024-08-28 13:08:42 +02:00
Tom Hvitved
7f8e6bf574
Merge pull request #16970 from hvitved/dataflow/local-big-step-stage
...
Data flow: Compute local big step relation as stage output
2024-08-28 12:28:16 +02:00
Tom Hvitved
27bc8ed6af
Address review comment
2024-08-28 11:38:29 +02:00
Chris Smowton
464b552cad
Merge pull request #17321 from github/criemen/move-go-int-tests
...
Go: Move all integration tests.
2024-08-28 10:30:55 +01:00
Cornelius Riemenschneider
d349ddba57
Merge pull request #17323 from github/criemen/move-ruby-int-tests
...
Ruby: Move all integration tests.
2024-08-28 11:18:05 +02:00
Simon Friis Vindum
d6049cd98b
C++: Add additional implementations of NonThrowingFunction and make minor fixes to docs
2024-08-28 10:54:16 +02:00
Cornelius Riemenschneider
a92a845719
Swift: Move all integration tests.
...
We are no longer bound to the platform-specific directories,
so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
2024-08-28 10:47:17 +02:00
Cornelius Riemenschneider
3326bc417c
Ruby: Move all integration tests.
...
We no longer need the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
2024-08-28 10:45:05 +02:00
Cornelius Riemenschneider
b7b475d13b
JS: Move all integration tests.
...
We no longer need the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR.
It's purely optional.
The PR also deletes a spurious qlpack.yml that I missed when converting the tests to pytest.
2024-08-28 10:43:08 +02:00
Cornelius Riemenschneider
bfc6fee828
Go: Move all integration tests.
...
We no longer need the platform-specific directories,
so simplify the test organization.
If you want to retain the `linux` directory for two tests,
or not do this at all, just skip merging this PR.
It's purely optional.
2024-08-28 10:37:59 +02:00
Joe Farebrother
a8591c79c5
Update test
2024-08-28 09:11:34 +01:00
Joe Farebrother
f3dea1d647
Add changenote
2024-08-28 09:04:01 +01:00
Tom Hvitved
22e1921391
Merge pull request #17313 from hvitved/dataflow/to-normal-sink-node-ex
...
Data flow: Move `toNormalSinkNodeEx` into `PathNodeMid`
2024-08-28 09:06:41 +02:00
Henry Mercer
ea1870fbbd
Merge pull request #17318 from github/post-release-prep/codeql-cli-2.18.3
...
Post-release preparation for codeql-cli-2.18.3
2024-08-27 20:34:55 +01:00
Henry Mercer
21a0109ca2
Merge branch 'rc/3.15' into post-release-prep/codeql-cli-2.18.3
2024-08-27 19:53:46 +01:00
github-actions[bot]
3e774476c6
Post-release preparation for codeql-cli-2.18.3
2024-08-27 18:52:31 +00:00
Paolo Tranquilli
2a2b79e6df
Rust: skeleton trap file emission code
2024-08-27 17:50:53 +02:00
Paolo Tranquilli
927710017e
Rust: add some configuration and logging
2024-08-27 17:07:23 +02:00
Tom Hvitved
b589fcad11
Data flow: Tweak join-order in toNormalSinkNodeEx
2024-08-27 15:42:24 +02:00
Tom Hvitved
80b6135a64
Data flow: Move toNormalSinkNodeEx into PathNodeMid
2024-08-27 15:42:13 +02:00
Joe Farebrother
fc24ca304d
Update tests
2024-08-27 14:18:50 +01:00
Joe Farebrother
1cb23e7e86
Exclude certificates from being cinsidered sensitive data by cleartext-storage and cleartext-logging queries
2024-08-27 14:18:39 +01:00
Michael Nebel
15b06907dd
Java: Updated expected test output.
2024-08-27 14:48:14 +02:00
Michael Nebel
8f734ad1b2
Java: Tighten the criteria for when we disregard generated models.
2024-08-27 14:48:11 +02:00
Michael Nebel
021fd1450e
Java: Add some dispatch examples to the external flow step test.
2024-08-27 14:48:03 +02:00
Michael Nebel
43b52a0921
Java: Add change note.
2024-08-27 13:28:18 +02:00
Michael Nebel
7488cc0811
Java: Updated expected test output.
2024-08-27 13:28:13 +02:00
Michael Nebel
d79aa294ec
Java: Move some neutrals into the model.yml file (they have previosly been ignored due to wrong file extension).
2024-08-27 13:28:09 +02:00
Michael Nebel
db51604f46
Java: Promote some generated models and add some manual neutrals.
2024-08-27 13:28:05 +02:00
Michael Nebel
6cb5e13a23
Java: Re-factor tests and update expected test output.
2024-08-27 13:28:00 +02:00
Michael Nebel
68880b2056
Java: Update expected test output. Generated models are no longer applied as there exist a source implementation.
2024-08-27 13:27:55 +02:00
Michael Nebel
fe6693739a
Java: Make more finegrained dataflow dispatch viable callable heuristic.
2024-08-27 13:27:52 +02:00
Cornelius Riemenschneider
1c3b9f7031
Delete legacy test utils.
2024-08-27 13:14:24 +02:00
Cornelius Riemenschneider
c69df1a6e3
Port java integration tests to pytest.
...
Some notes:
* These tests rely on a variety of fixtures
* The previous maven-wrapper checks were checking for the version of maven installed by looking at the checked-in wrapper script. I dropped this behavior.
* I replaced a lot of test queries that queried for a (subset of) source archive files with the source_archive fixture. In particular, tests that excluded properties files from being listed in the expected output now include them.
It's much faster to generate this list via the fixture instead of using CodeQL for it.
2024-08-27 13:14:23 +02:00
Cornelius Riemenschneider
5fa30c33b8
Remove legacy java files.
2024-08-27 13:14:21 +02:00
Cornelius Riemenschneider
19606b1903
Add *.actual to the gitignore file.
...
This is also used by the integration tests.
2024-08-27 13:14:20 +02:00
Ian Lynagh
3a864d3de2
Merge pull request #17292 from igfoo/igfoo/open
...
Kotlin: Remove a redundant 'open'
2024-08-27 12:14:04 +01:00
Ian Lynagh
085bf2f662
Merge pull request #17293 from igfoo/igfoo/dtw
...
Kotlin: Restrict some TrapWriter types to DiagnosticTrapWriter
2024-08-27 12:13:59 +01:00
Cornelius Riemenschneider
123507e2dc
No need to disable the layering check anymore, this was fixed upstream.
2024-08-27 13:00:56 +02:00
Cornelius Riemenschneider
62219fae60
Bazel: switch to a 7.4.0 prerelease.
2024-08-27 12:27:53 +02:00
Henry Mercer
e0013eec1b
Merge pull request #17294 from github/codeql-cli-2.18.3
...
Merge `codeql-cli-2.18.3` back into `rc/3.15`
2024-08-27 10:46:05 +01:00
Michael Nebel
287857c5db
Merge pull request #17301 from michaelnebel/shared/contentflowbadjoin
...
Shared: Fix bad join in content flow.
2024-08-27 10:17:04 +02:00
Paolo Tranquilli
b79be718e1
Merge pull request #17306 from github/redsun82/bazel-lfs
...
Bazel: fix logging bug in `git_lfs_probe.py`
2024-08-27 09:42:39 +02:00
Anders Schack-Mulligen
b3fa4f3d9e
Merge pull request #17289 from aschackmull/dataflow/summaryctx
...
Dataflow: Simplify using a SummaryCtx type.
2024-08-27 09:32:43 +02:00
Paolo Tranquilli
0738e01e7e
Bazel: fix logging bug in git_lfs_probe.py
...
The case of an `HTTPError` was printed to stdout (and therefore globbed
by bazel).
While I'm at it, I also introduced a timeout to `urlopen` and improved
the `no endpoints found` error message.
2024-08-27 09:12:37 +02:00
Kevin Stubbings
c60f459530
Grammar
2024-08-26 23:57:19 -07:00
Kevin Stubbings
812abea0de
change-notes
2024-08-26 22:25:00 -07:00
Kevin Stubbings
0420d25c13
refactor
2024-08-26 22:09:24 -07:00
Kevin Stubbings
1db7865d49
Corrections
2024-08-26 22:06:12 -07:00
Kevin Stubbings
8bf8893307
Add support for vulnerable CORS middlewares
2024-08-26 21:30:48 -07:00
Andrew Eisenberg
d19102c399
Separate into two groups
2024-08-26 14:38:32 -07:00
Michael Nebel
e81fdc951a
Merge pull request #17246 from michaelnebel/modelgendebug
...
C#/Java: Add some model generator summary debugging queries.
2024-08-26 16:13:03 +02:00
Michael Nebel
77bfe39ca7
Shared: Address review comments.
2024-08-26 15:24:56 +02:00
Michael Nebel
4381bae5d1
Shared: Fix bad join.
2024-08-26 15:24:54 +02:00
Anders Schack-Mulligen
d8c8bcd386
Dataflow: Tweak qldoc.
2024-08-26 15:12:37 +02:00
Anders Schack-Mulligen
cbb58d0041
Dataflow: Add a getLocation rootdef.
2024-08-26 15:05:30 +02:00
Michael Nebel
34d83a6b0d
C#/Java: Address review comments.
2024-08-26 15:02:27 +02:00
Simon Friis Vindum
d9dbcdba34
C++: Fix imports
2024-08-26 12:42:44 +02:00
Asger F
4e3440aad0
Merge pull request #17275 from asgerf/cpp/taint-test-case-false-negative
...
C++: Reveal false negative in test case
2024-08-26 12:36:03 +02:00
Asger F
16c2cf24b3
C++: use inline annotation for missing flow
2024-08-26 11:53:31 +02:00
Asger F
592e2eafb6
Merge pull request #17262 from asgerf/shared/implicit-read
...
Shared: restrict flow after using implicit read
2024-08-26 11:48:50 +02:00
Tom Hvitved
e5d626f907
Data flow: Only recompute local big step in stage 6
2024-08-26 09:58:29 +02:00
Simon Friis Vindum
128053e214
C++: Add basic modeling of functions that don't throw
2024-08-26 09:37:44 +02:00
Tom Hvitved
c92c96fa78
Data flow: Compute local big step relation per stage
2024-08-26 09:15:27 +02:00
Paolo Tranquilli
c4c8c9ddc1
Merge pull request #17291 from github/criemen/ripunzip
...
Make ripunzip installer accessible from outside this repo.
2024-08-23 20:14:44 +02:00
Cornelius Riemenschneider
3ac8108c4a
Address review.
2024-08-23 17:26:05 +02:00
Ian Lynagh
6a7d8b5301
Kotlin: Restrict some TrapWriter types to DiagnosticTrapWriter
...
We never use the greater generality, so this makes it easier to see
what's happening.
2024-08-23 15:41:21 +01:00
Ian Lynagh
7d500cf58c
Kotlin: Remove a redundant 'open'
2024-08-23 15:08:10 +01:00
Tamás Vajk
d710c1e89d
Merge pull request #17287 from tamasvajk/message-count-telemetry
...
C#: Add aggregated compiler and extractor message counts to extractio…
2024-08-23 14:41:27 +02:00
Cornelius Riemenschneider
d84e745ce9
Make ripunzip installer accessible from outside this repo.
...
* The relative path to misc doesn't work when running from another repo
* The buildifier dependency is not available from other repos,
therefore we can't pull in //misc/bazel without further refactoring.
Therefore, inline the runfiles snippet here.
2024-08-23 14:24:51 +02:00
Anders Schack-Mulligen
65189e09f5
Dataflow: Simplify using a SummaryCtx type.
2024-08-23 14:18:46 +02:00
Asger F
8df7fbf6d6
Swift: update test output
...
The 'first' field is seen as a TaintInheritingContent, which means any read step for 'first' becomes a taint step too.
This type of taint step does not permit an implicit read before it, because it wasn't contributed by a configuration.
So there is no way for the taint to get out of the collection content before the taint step through '.first'.
The test previously passed because an implicit read at once of the earlier sinks could follow use-use flow down to the receiver of .first,
allowing it to escape the collection content.
2024-08-23 11:30:50 +02:00
Asger F
d27b28d371
C++: update test output
...
This reveals that some tests were passing for the wrong reasons.
See https://github.com/github/codeql/pull/17275
2024-08-23 11:29:24 +02:00
Asger F
9703f67794
Test output updates that only affect nodes/edges
2024-08-23 11:03:26 +02:00
Asger F
6bc8407bd6
Java: Update test output
2024-08-23 11:02:29 +02:00
Asger F
c3b36325b2
Shared: prevent use-use flow through implicit reads (part 1)
2024-08-23 11:02:28 +02:00
Michael Nebel
20d9fd11ac
Merge pull request #17288 from michaelnebel/shared/contentflow
...
Shared: ContentFlow.
2024-08-23 09:52:27 +02:00
Michael Nebel
19c2eb17c4
C#: Remove redundant imports.
2024-08-23 09:04:13 +02:00
Andrew Eisenberg
c1c9ef2c1f
Add a pull request template
2024-08-22 12:36:24 -07:00
Chris Smowton
67d94376e8
Merge pull request #17227 from smowton/smowton/fix/baseline-vs-nonroot-vendor-dirs
...
Go / configure-baseline: account for multiple vendor directories and the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` setting
2024-08-22 15:00:51 +01:00
Michael Nebel
d935c47231
C#: Use the shared content flow implementation.
2024-08-22 15:46:01 +02:00
Michael Nebel
e6424f0f45
Shared: Make ContentDataFlow reusable.
2024-08-22 15:45:58 +02:00
Owen Mansel-Chan
18b99ffecc
Merge pull request #17284 from owen-mc/go/fix-frameworks-coverage
...
Go: Try to fix packages in frameworks coverage
2024-08-22 14:43:52 +01:00
Tamas Vajk
6827bedaa7
C#: Add aggregated compiler and extractor message counts to extraction telemetry query
2024-08-22 15:14:33 +02:00
Tamás Vajk
3dce56b0b1
Merge pull request #17276 from tamasvajk/impr/change-partial-method-location
...
C#: Change reporting location of partial methods
2024-08-22 15:10:21 +02:00
Michael Nebel
4cd34531c6
Shared: Add a copy of the existing C# Content Dataflow implementation.
2024-08-22 15:07:45 +02:00
Owen Mansel-Chan
2edadbf423
Try to fix packages in frameworks coverage
2024-08-22 11:44:34 +01:00
Asger F
a1688f6a1a
Merge pull request #17240 from knewbury01/knewbury01/fix-helmetrequiredsetting-model
...
Update JS helmet model structure
2024-08-22 11:59:28 +02:00
Asger F
81239dcd95
Java: add test case
2024-08-22 11:26:05 +02:00
Michael Nebel
bd69b96752
Merge pull request #17273 from michaelnebel/csharp/sqlinject
...
C#: ASP.NET Controller is allowed to be abstract.
2024-08-22 11:18:48 +02:00
Asger F
43f54db4db
Merge pull request #17274 from asgerf/java/implicit-pending-intents-implicit-read
...
Java: Reveal false negative in test
2024-08-22 11:00:07 +02:00
Tom Hvitved
d41d7c8246
Merge pull request #17207 from hvitved/csharp/content-set
...
C#: Implement `ContentSet`
2024-08-22 10:55:11 +02:00
Tom Hvitved
a213982b48
Merge pull request #17222 from hvitved/ruby/hash-splat-param-arg-matching
...
Ruby: Rework (hash) splat argument/parameter matching
2024-08-22 10:54:52 +02:00
Asger F
09aca6b47e
Merge pull request #17212 from mbaluda/main
...
Add support for importing NPM modules in XSJS sources
2024-08-22 10:54:33 +02:00
Anders Schack-Mulligen
d97a301fef
Merge pull request #17105 from aschackmull/dataflow/stage6
...
Dataflow: Refactor stage 6 to use shared stage code.
2024-08-22 09:46:49 +02:00
Tom Hvitved
e94fabcc19
Address review comment
2024-08-22 08:27:15 +02:00
Henry Mercer
55d325148d
Merge pull request #17280 from github/post-release-prep/codeql-cli-2.18.3
...
Post-release preparation for codeql-cli-2.18.3
2024-08-21 21:34:50 +01:00
github-actions[bot]
0724fd7ce2
Post-release preparation for codeql-cli-2.18.3
2024-08-21 18:25:54 +00:00
Tom Hvitved
cb1b1da422
Ruby: Add another array flow test
2024-08-21 19:06:53 +02:00
Tom Hvitved
b0003c0453
Ruby: Remove two redundant checks
2024-08-21 19:06:29 +02:00
Tamas Vajk
f7bf5e89be
Add change note
2024-08-21 15:58:05 +02:00
Owen Mansel-Chan
113ab755d9
Give clearer example of multiple query predicates in one ql file
...
The new names aren't great, so feel free to change them, but I think we do need an explicit example of updating two relations using one ql file.
2024-08-21 14:18:11 +01:00
Tamas Vajk
7c4733e88f
C#: Change reporting location of partial methods
2024-08-21 15:13:14 +02:00
Michael Nebel
7049499e95
C#: Add change-note.
2024-08-21 14:38:55 +02:00
Asger F
3aa32e4aff
Java: use MISSING inline annotation
2024-08-21 13:40:40 +02:00
Asger F
f7ea8a1563
Java: trivial result set re-order
2024-08-21 13:37:38 +02:00
Asger F
5751fc2d3a
Java: Reveal false negative in test
...
One of the sinks was flagged for the wrong reason in the test case.
The flow into the 'startActivities' sink isn't working properly, but this was not revealed by the test since an alternate, spurious path exists. The spurious path goes through the implicit read at the prior sink and takes a use-use step to the 'startActivities' sink. Swapping the order of the two sinks reveals the false negative.
2024-08-21 13:36:47 +02:00
Michael Nebel
45d4d5138a
C#: Update expected test output.
2024-08-21 13:14:12 +02:00
Michael Nebel
79718f1cd6
C#: Remove requirement that a controller is not allowed to be abstract.
2024-08-21 13:00:15 +02:00
Michael Nebel
75772c5832
C#: Add abstract controller remote flow source example.
2024-08-21 13:00:10 +02:00
Michael Nebel
5d14307ea2
C#: Add a SQL injection test case for ASP.NET.
2024-08-21 12:14:30 +02:00
Chris Smowton
f13f19d5dc
Fix typo
2024-08-21 10:22:42 +01:00
Chris Smowton
2939cefc68
Use platform path separators for file testing, and forward-slashes for reporting to CodeQL
2024-08-21 10:15:44 +01:00
Chris Smowton
c99a84689b
Switch test expectations to use unix-style paths
2024-08-21 09:56:08 +01:00
Anders Schack-Mulligen
525b6f30e3
C++/C#/Java: Accept test changes.
2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
5fbdd83a23
Dataflow: Rename StagePathNode to PathNode.
2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
273c0bd121
Dataflow: Delete dead code.
2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
1787bcb05a
Dataflow: Replace PathNode with Stage implementation.
2024-08-21 10:51:24 +02:00
Anders Schack-Mulligen
74739bedfc
Dataflow: Add Stage 6 instantiation.
2024-08-21 10:44:46 +02:00
Anders Schack-Mulligen
831a66d812
Dataflow: Add getANonHiddenSuccessor to StagePathNodeImpl.
2024-08-21 10:44:45 +02:00
Anders Schack-Mulligen
e594e7283d
Dataflow: Check stateful in/out-barriers in each stage.
2024-08-21 10:44:45 +02:00
Anders Schack-Mulligen
c2b25c7f2b
Dataflow: Check clearsContent on store targets in StagePathGraph.
2024-08-21 10:44:44 +02:00
Anders Schack-Mulligen
b8d0b691da
Dataflow: Introduce sink projection and add successor as member predicate.
2024-08-21 10:44:44 +02:00
Anders Schack-Mulligen
bc1dd45d4f
Dataflow: Make private
2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
9429e5ccba
Dataflow: Update StagePathNode.toString.
2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
81a815c343
Dataflow: Add StagePathNode.getState.
2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
bdcc5e7b67
Dataflow: Refactor getLocation
2024-08-21 10:44:42 +02:00
Anders Schack-Mulligen
bc0ae4cd1e
Dataflow: Replace StagePathNode.getNode with getNodeEx.
2024-08-21 10:44:42 +02:00
Anders Schack-Mulligen
9bd3f3dee0
Dataflow: Rename StagePathNode to StagePathNodeImpl.
2024-08-21 10:44:41 +02:00
Chris Smowton
fc301206d1
Change note
2024-08-20 17:11:58 +01:00
Chris Smowton
3acab640b2
Add configure-baseline integration test
2024-08-20 17:07:09 +01:00
Chris Smowton
15b5bcc67c
Output to stdout, not stderr
2024-08-20 17:01:54 +01:00
Chris Smowton
8b9617cd38
Update bazel build files
2024-08-20 15:56:28 +01:00
Chris Smowton
ea3e5c8a99
Clarify comment
2024-08-20 15:56:27 +01:00
Chris Smowton
f1f6f9b580
Share vendor-dir extraction logic between extractor and configure-baseline script
2024-08-20 15:56:26 +01:00
Chris Smowton
22802fd41f
Improve struct naming
2024-08-20 15:56:25 +01:00
Chris Smowton
5d34dbf2c2
Remove unnecessary batch script flag
2024-08-20 15:56:24 +01:00
Chris Smowton
624d2b83c0
Tidy comments
2024-08-20 15:56:23 +01:00
Chris Smowton
21366dd502
Go / configure-baseline: account for multiple vendor directories and the CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS setting
...
Our existing configure-baseline scripts would give the wrong result if a `vendor` directory wasn't at the root of the repository, or if the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` variable was set to `true` indicating the user wants their vendored code scanned.
Here I replace the shell scripts that implemented the very simplest behaviour with a small Go program.
2024-08-20 15:56:22 +01:00
Michael Nebel
6ea01b81bb
C#: Add some summary debugging queries.
2024-08-20 16:28:18 +02:00
Michael Nebel
fd311d5143
Java: Add some summary debugging queries.
2024-08-20 16:28:15 +02:00
Tom Hvitved
d15e1b5598
Ruby: Prevent synthetic splat matching for actual splats at same positions
2024-08-20 16:21:59 +02:00
Tom Hvitved
c4b0f81883
Ruby: Prevent positional matching when preceded by a splat
2024-08-20 16:21:58 +02:00
Tom Hvitved
20dc242830
Ruby: Rework hash splat argument/parameter matching
2024-08-20 16:21:57 +02:00
Tom Hvitved
6d4f3bd014
Ruby: Rework splat argument/parameter matching
2024-08-20 16:21:56 +02:00
Rasmus Wriedt Larsen
8f7dec07b8
Python: Remove 'response' from default threat-models
...
I didn't want to put the configuration file in
`semmle/python/frameworks/**/*.model.yml`, so created `ext/` as in other
languages
2024-08-19 10:54:48 +02:00
Rasmus Wriedt Larsen
617ab27c75
Python: Add test showing default active threat-models
2024-08-19 10:54:48 +02:00
Rasmus Wriedt Larsen
766dcc4dd6
ThreatModels: Expose knownThreatModel
...
Without, it's impossible to write test showing what threat-models are
active by default... unless I provide a hardcoded list in the test
itself, which is not any fun.
2024-08-19 10:54:47 +02:00
Rasmus Wriedt Larsen
5ec8e5dd30
Python: Setup support for threat-models
...
Naming in other languages:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)
However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and instead I came up with new names.
2024-08-19 10:54:47 +02:00
Geoffrey White
0e766aa99b
C++: Remove redundant lines.
2024-08-16 15:56:30 +01:00
Geoffrey White
0088ece3ea
Revert "Swift: Fix two of the qhelps by slightly modifying the sample code instead."
...
This reverts commit 2d19d6f61e .
2024-08-16 13:24:03 +01:00
Geoffrey White
2d19d6f61e
Swift: Fix two of the qhelps by slightly modifying the sample code instead.
2024-08-16 12:57:32 +01:00
Geoffrey White
0126fbcb8f
Swift: Clear the language for Swift code snippets that are rendering incorrectly.
2024-08-16 10:56:46 +01:00
Paolo Tranquilli
0e3c867cb9
Toy rust program listing definitions of a cargo project
2024-08-16 10:37:49 +02:00
Asger F
7dcdad066f
Update javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll
2024-08-16 09:44:53 +02:00
Kristen Newbury
81787a159e
Add QL docs to helmet model
2024-08-15 16:32:37 -04:00
Kristen Newbury
e84dda4fa6
Update JS helmet model structure
2024-08-15 16:08:48 -04:00
Geoffrey White
7430fde8c6
C++: Avoid outputting a cartesian product in AliasedSSA's getOverlap.
2024-08-14 10:53:25 +01:00
Tom Hvitved
89a2381165
C#: Adopt shared SSA data-flow integration
2024-08-14 08:39:17 +02:00
Tom Hvitved
d638b5c7d4
Sync shared file
2024-08-13 15:27:38 +02:00
Tom Hvitved
f6ec56a977
C#: Implement ContentSet
2024-08-13 15:27:36 +02:00
Mauro Baluda
be0a60a7f6
Add support for importing NPM modules in XSJS sources
2024-08-13 14:45:03 +02:00
am0o0
f97b1039cd
update test files, add one more additional flow step for inflate function, fix gzopen additional flow step thanks to @jketema
2024-07-30 17:49:34 +02:00
Am
6f8eec2bf9
Merge branch 'github:main' into amammad-cpp-bombs
2024-07-28 18:49:15 +03:30
Rasmus Lerchedahl Petersen
3434c38da7
Python: update test expectations
...
This is MaD...
2024-07-22 17:03:29 +02:00
Rasmus Lerchedahl Petersen
e30f725e71
Python: Remove questionable model for multiprocessing.connection.Listener
2024-07-22 15:43:06 +02:00
am0o0
a10b5021b4
fix tests, it is not fixed 100%
2024-07-15 10:13:57 +02:00
am0o0
87b6495c91
add zlib tests with stubs :)
2024-07-14 21:10:56 +02:00
Rasmus Lerchedahl Petersen
e40ae2e52d
Python: adjust test expectations
...
MaD row numbers in provenance column
2024-06-28 21:56:11 +02:00
Rasmus Lerchedahl Petersen
77a00873a9
Python: add tests for loggers
2024-06-28 15:25:17 +02:00
Rasmus Lerchedahl Petersen
5ddfe75a0d
Python: Add value steps for sequence elements
...
It would be nice to simplify to a single sequence content type..
2024-06-28 15:10:08 +02:00
Rasmus Lerchedahl Petersen
59f953269a
Python: remove strange sink
...
It is not clear from the code how this could happen and
I do not remember the path I saw, perhaps it was unreasonable.
2024-06-28 14:42:24 +02:00
yoff
bbc3ff2dfe
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-06-28 14:39:03 +02:00
Rasmus Lerchedahl Petersen
a3076f4f72
Python: fix test expectations, add missing sanitizer
2024-06-26 13:27:32 +02:00
am0o0
361ad6be6a
use abstract class for decompression flow steps
2024-06-26 12:45:31 +02:00
Rasmus Lerchedahl Petersen
b261145f43
Python: fix compilation
2024-06-26 10:46:38 +02:00
Rasmus Lerchedahl Petersen
571be8be3e
Python: model more loggers
2024-06-26 01:00:38 +02:00
Rasmus Lerchedahl Petersen
eb32cbe8a5
Python: codecs.open
2024-06-26 00:57:59 +02:00
Rasmus Lerchedahl Petersen
bdc48088e6
Python: MaD summary models
...
Two of the generated summaries have been excluded:
- ["re", "Member[split]", "Argument[0,pattern:]", "ReturnValue", "taint"]
From the documentation, it is not clear why pattern should figure in the return value, as that is the part denoting split point and thus all those instances are filtered out.
From the implementation
Spit function: https://github.com/python/cpython/blob/3.12/Lib/re/__init__.py#L199
_compile function being called by split: https://github.com/python/cpython/blob/3.12/Lib/re/__init__.py#L280
We see that in case the pattern is already a compiled `Pattern`, it is returned directly from _compile and could thus be part of the return value from split. This is probably not possible to arrange for an attacker, and so an FP in practice.
- ["urllib2", "Member[unquote]", "Argument[0,string:]", "ReturnValue", "taint"]
urllib2 seems to be only in Python2 (e.g. https://docs.python.org/2.7/library/urllib2.html ) and I cannot locate the function unquote.
2024-06-26 00:39:30 +02:00
am0o0
656dc4e276
use abstract class for decompression sinks
2024-06-25 18:09:27 +02:00
am0o0
13f697c056
relocate the query
2024-06-25 17:31:40 +02:00
Rasmus Lerchedahl Petersen
bc551174f9
Python: model copy.deepcopy as a value step
2024-06-25 14:53:06 +02:00
Rasmus Lerchedahl Petersen
501cda4e8c
Python: model fnmatch.filter
2024-06-25 14:44:39 +02:00
Rasmus Lerchedahl Petersen
2118f233b9
Python: model optparse.OptionParser.parse_arg
2024-06-25 14:40:23 +02:00
Rasmus Lerchedahl Petersen
b80a711b27
python: undo changes to qlpack
2024-06-25 14:13:59 +02:00
Rasmus Lerchedahl Petersen
1e97600c4a
Python: move models
2024-06-25 14:13:56 +02:00
Rasmus Lerchedahl Petersen
d410136852
python: compress models
2024-06-25 14:13:52 +02:00
Rasmus Lerchedahl Petersen
c004ffaca8
python: move model to Stdlib.yml
...
There is already a model there so we add to that one.
We did observe that this existing model was blocked by the external MaD model.
This is concerning and needs to be cleared up.
2024-06-25 14:13:48 +02:00
Rasmus Lerchedahl Petersen
281ac05868
python: add modelling for urlib.parse
...
- `quote` together with `re.compile` recover regex injection alerts on haiwen/seahub
- `quote_plus` recovers the URL redirection alert on DemocracyClub/EveryElection
- `unquote` recovers path injection alerts on `cloudera/hue`
- it was tedious finding justifications for the rest..
2024-06-25 14:13:44 +02:00
Rasmus Lerchedahl Petersen
df406b4fca
python: Start modelling using MaD
...
- empty models for now
- `summaryModel` of `codeql/python-all` will be added to shortly.
2024-06-25 14:13:41 +02:00
Porcupiney Hairs
a7cdf0e2fd
CPP: Disabled SSL certificate verification
...
Disable SSL certificate verification can expose the communication to MITM attacks.
This PR adds a query to detect the same. This also include the tests and qhelp for the same.
2024-06-23 14:27:04 +05:30
Paolo Tranquilli
daea773fce
Python: tests with false positives around match
2024-06-14 17:28:35 +02:00
am0o0
11a416ea7c
add FlowSources as a common source for all sinks, so we don't need States anymore
2024-06-13 03:30:07 +02:00
am0o0
273848c879
remove old comments
2024-06-07 05:40:17 +02:00
am0o0
a5363286f1
add implicit this
2024-06-07 05:37:58 +02:00
am0o0
184aa0480e
Merge branch 'amammad-cpp-bombs' of https://github.com/amammad/codeql into amammad-cpp-bombs
2024-06-07 05:27:12 +02:00
Am
a5c9dc74bf
Merge branch 'github:main' into amammad-cpp-bombs
2024-06-07 05:27:08 +02:00
am0o0
e37ceac3b1
merge all query files into one query file
2024-06-07 05:26:51 +02:00
amammad
e0798b29da
stash: change sinks to zip handles and sources to the zip handle initializers
2023-07-04 18:28:00 +10:00
amammad
065c527615
update Miniz
2023-07-04 07:19:33 +10:00
amammad
16be908cb3
add Miniz
2023-07-04 06:56:30 +10:00
amammad
56bc32ff91
add libarchive
2023-07-04 01:17:22 +10:00
amammad
d4d505d7af
complete the minizip query
2023-07-03 20:39:08 +10:00
amammad
042133a991
add queries for more popular libs
2023-07-03 09:12:37 +10:00
amammad
f715a3437b
better examples
2023-06-26 05:29:16 +10:00
amammad
3ddc9a8b31
fix warnings, more sinks,sources,comments
2023-06-26 05:26:30 +10:00
amammad
ae98510f77
add more source and sinks and sanitizers
2023-06-26 00:21:55 +10:00
amammad
430375e2f0
fix a commit mistake
2023-06-25 20:28:45 +10:00
amammad
4a37da3593
V1
2023-06-25 20:26:21 +10:00