Rasmus Wriedt Larsen
c4fbfb0d07
Merge branch 'main' into call-graph-code
2023-02-15 20:15:04 +01:00
Rasmus Wriedt Larsen
ee5382d8a6
Merge pull request #12193 from RasmusWL/import-resolution-fixup
...
Python: Fix `from <pkg> import *` import resolution
2023-02-15 20:13:24 +01:00
Rasmus Wriedt Larsen
c72dbc49fc
Merge pull request #12165 from RasmusWL/crypto-updates
...
Python/Ruby/JS Crypto: Add a few algorithms + block modes
2023-02-15 14:35:40 +01:00
Rasmus Wriedt Larsen
7e16fa9cbe
Python: Add change-note
2023-02-15 14:25:33 +01:00
Rasmus Wriedt Larsen
220f227707
Python: Add wrapper for isPreferredModuleForName
...
We talked about how it's annoying that we in 4 places have the same fix
`isPreferredModuleForName(<module>.getFile(), <name> + ["", ".__init__"])`
, and that it would be nice to have a simple wrapper predicate that
ensures we never forget to do the `+ ["", ".__init__"]` dance...
I had trouble coming up with a name for this (ironically), but
I think `getModuleFromName` is good enough.
2023-02-15 14:23:39 +01:00
Rasmus Wriedt Larsen
66c3529465
Python: Fix import * from __init__.py files
2023-02-15 14:10:37 +01:00
Rasmus Wriedt Larsen
df6039d6cf
Python: Add import resolution regression
2023-02-15 13:50:27 +01:00
Rasmus Wriedt Larsen
e1ae3c3cfb
Python: sys.exit if import resolution tests fail
2023-02-15 13:44:45 +01:00
Rasmus Wriedt Larsen
9e2eb56032
Python: Remove support for late *args arguments
...
I found this to cause bad performance, so the implementation of this has
to be thought out more carefully.
2023-02-15 09:42:11 +01:00
Taus
1b30043422
Python: Move change note to correct directory
2023-02-14 13:48:55 +00:00
Taus
4f7c598ffc
Python: Add change note
2023-02-14 13:22:48 +00:00
Taus
39516862c1
Merge remote-tracking branch 'origin/main' into tausbn/python-clean-up-version-handling
2023-02-14 13:07:40 +00:00
Anders Schack-Mulligen
e877b161d8
Merge pull request #12124 from hvitved/dataflow/stage1-dispatch
...
Data flow: Call context virtual dispatch pruning in stage 1
2023-02-13 13:13:43 +01:00
Rasmus Wriedt Larsen
b2e79e2948
Python/Ruby/JS Crypto: Add a few algorithms + block modes
...
I have tried to add a few links to support the claim that these
algorithms are strong/safe. It wasn't always super easy, so in some
cases I have ended up just linking to the documentation of the
`cryptography` Python package.
Co-authored-by: REDMOND\brodes <brodes@microsoft.com >
2023-02-13 10:40:47 +01:00
Tom Hvitved
f7a5a33474
Address review comment
2023-02-13 09:01:15 +01:00
Rasmus Wriedt Larsen
5c23b47ef4
Python: Fix typo in QLDoc
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-08 16:27:06 +01:00
Rasmus Wriedt Larsen
8bb1d8631a
Python: Add call-graph hotfix for sympy
2023-02-08 16:19:29 +01:00
Rasmus Wriedt Larsen
23144f584a
Merge branch 'main' into call-graph-code
2023-02-08 16:17:34 +01:00
Taus
080ce09bd7
Python: Update six test expectations
2023-02-07 16:21:15 +00:00
Taus
8dea993f41
Python: Update failing test
...
Seems the name for the codec changed between Python 2 and 3. :)
2023-02-07 16:21:15 +00:00
Taus
49a3dd6131
Python: Clean up version handling
...
Depends on an internal PR.
2023-02-07 16:21:15 +00:00
Tom Hvitved
8e8897b08b
Data flow: Sync files
2023-02-07 15:15:04 +01:00
Erik Krogh Kristensen
9360ae9638
Merge pull request #12076 from erik-krogh/poly-sink-track
...
PY: add tracking of strings to compile-sites for poly-redos
2023-02-06 14:21:04 +01:00
Mathias Vorreiter Pedersen
00fe448e3a
Merge pull request #12072 from aschackmull/dataflow/stage3-perf
...
Dataflow: Fix join in `fwdFlowRead` (take 2)
2023-02-06 10:43:11 +00:00
github-actions[bot]
faf21f3edb
Post-release preparation for codeql-cli-2.12.2
2023-02-02 23:01:04 +00:00
erik-krogh
6e712b293a
add tracking of strings to compile-sites for poly-redos, in the style of Ruby
2023-02-02 22:56:20 +01:00
erik-krogh
52959d7c0a
add failing test for not tracking strings to re.compile
2023-02-02 19:10:32 +01:00
Anders Schack-Mulligen
67d4ed53b9
Dataflow: Sync.
2023-02-02 16:33:00 +01:00
github-actions[bot]
a4fa984792
Release preparation for version 2.12.2
2023-02-02 14:34:55 +00:00
Rasmus Wriedt Larsen
db114bb104
Merge branch 'main' into call-graph-code
2023-02-02 11:56:55 +01:00
Rasmus Wriedt Larsen
fdb33ff48e
Python: Fix grammar in change-note
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-01 14:01:20 +01:00
erik-krogh
77e014c5a4
sync added dataflow config
2023-02-01 11:46:57 +01:00
Erik Krogh Kristensen
01f6862965
Merge pull request #11833 from erik-krogh/trackPyReg
...
PY: track string-constants to regular expression uses
2023-02-01 11:40:42 +01:00
Rasmus Wriedt Larsen
c7e552b343
Python: Fix grammar in qldoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-30 09:45:45 +01:00
Rasmus Wriedt Larsen
a1c2f4c138
Python: Small rewrite of **kwargs getParameter logic
2023-01-30 09:42:43 +01:00
Mathias Vorreiter Pedersen
95b15825f9
DataFlow: Sync identical files.
2023-01-27 16:24:31 +00:00
Rasmus Wriedt Larsen
cef933f813
Python: Add comment explaining SINK3_F(kwargs["c"]) test
...
Co-authored-by: yoff <yoff@github.com >
2023-01-27 15:48:59 +01:00
Rasmus Wriedt Larsen
c099dbd04c
Python: Expand notes around bound methods self argument passing
2023-01-27 15:27:45 +01:00
Rasmus Wriedt Larsen
02b3a1b515
Python: At most one **kwargs ParameterNode per callable
...
Similar to the Ruby changes from
https://github.com/github/codeql/pull/11461
I feel the change to `DataFlowFunciton.getParameter` where we use
`not exists(func.getArgByName(_))` is not very great, but I was not allowed
to use `not exists(this.getParameter(any(ParameterPosition _).isKeyword(_)))`
because of negative recursion.
2023-01-27 11:14:42 +01:00
Rasmus Wriedt Larsen
f262dc68f8
Python: Reword note about debugging getNextClassInMro
2023-01-25 10:08:43 +01:00
Rasmus Wriedt Larsen
63b2bd0871
Python: Fixup test_only_starargs addition
...
validTest.py did not pass, since we use `SINK3_F`.
I initially tried swapping the order
```
args = (arg1, arg2) # $ arg1 arg2 func=starargs_only
more_args = (arg4, arg3)
starargs_only(*args, *more_args)
```
But then asked myself, what is it _actually_ we're testing here? and it
seems to be the way we handle multiple *args arguments in the same call,
so I converted the test to be that instead! (and it matches what we do
in test_stararg_mixed)
2023-01-25 09:37:07 +01:00
Rasmus Wriedt Larsen
0879c8f8e1
Python: Expand comments on C3 MRO
2023-01-23 17:40:24 +01:00
Rasmus Wriedt Larsen
80324735bb
Python: Fixup annotation for CWE-022-PathInjection/pathlib_use.py
2023-01-23 17:40:24 +01:00
Rasmus Wriedt Larsen
753192bb4d
Merge branch 'main' into call-graph-code
2023-01-23 11:25:02 +01:00
Alex Ford
55550e7980
Merge pull request #11941 from alexrford/summary-component-tostring-syntheticglobal
...
Add missing toString case for synthetic globals
2023-01-23 10:00:00 +00:00
Michael Nebel
69a42d8b1f
Merge pull request #11931 from michaelnebel/csharp/refactor
...
Remove the Csv postfix of some predicate names.
2023-01-23 09:09:48 +01:00
github-actions[bot]
b62cb6ba84
Post-release preparation for codeql-cli-2.12.1
2023-01-20 19:49:56 +00:00
Rasmus Wriedt Larsen
25a68c4d71
Python: Include @yoff's suggestion on synthetic *args handling
2023-01-20 16:49:33 +01:00
Rasmus Wriedt Larsen
41ebb4fb55
Python: Add p2 in QLDoc example code for synthetic **kwargs
2023-01-20 16:40:39 +01:00
Rasmus Wriedt Larsen
d9fbe58ad5
Python: Expand starargs_only test
2023-01-20 16:34:59 +01:00