ALJI Mohamed
9163cbec09
Restrict the reach for an additional taint step
2022-10-19 16:08:49 +01:00
ALJI Mohamed
25a7fcffc0
Add an additional taint step
2022-10-19 16:01:34 +01:00
ALJI Mohamed
d6fa745279
Add TarSlip Improv query
2022-10-19 14:01:40 +01:00
Taus
58754982ce
Python: Update type tracking tests
...
No longer missing! 🎉
2022-10-17 14:34:10 +00:00
Taus
ad13fbaeb6
Python: Add tests
...
A slightly complicated test setup. I wanted to both make sure I captured
the semantics of Python and also the fact that the kinds of global flow
we expect to see are indeed present.
The code is executable, and prints out both when the execution reaches
certain files, and also what values are assigned to the various
attributes that are referenced throughout the program. These values are
validated in the test as well.
My original version used introspection to avoid referencing attributes
directly (thus enabling better error diagnostics), but unfortunately
that made it so that the model couldn't follow what was going on.
The current setup is a bit clunky (and Python's scoping rules makes it
especially so -- cf. the explicit calls to `globals` and `locals`), but
I think it does the job okay.
2022-10-17 14:29:41 +00:00
Taus
651afaf11b
Python: Hook up new implementation
...
Left as its own commit, as otherwise the diff would have been very
confusing.
2022-10-17 14:29:41 +00:00
Taus
0051ba1596
Python: Add new module resolution implementation
...
A fairly complicated bit of modelling, mostly due to the quirks of
how imports are handled in Python.
A few notes:
- The handling of `__all__` is not actually needed (and perhaps not
desirable, as it only pertains to `import *`, though it does match
the current behaviour), but it might become useful at a later date,
so I left it in.
- Ideally, we would represent `foo as bar` in an `import` as a
`DefinitionNode` in the CFG. I opted _not_ to do this, as it would
also affect points-to, and I did not want to deal with any fallout
arising from that.
2022-10-17 14:29:41 +00:00
Taus
f5b2eb94a6
Merge pull request #10783 from yoff/python/subscript-nodes
...
Python: API graph improvements for subscripts
2022-10-17 15:21:56 +02:00
Taus
fa2faeb77b
Merge pull request #10802 from jsoref/spelling-python
...
Spelling python
2022-10-17 11:33:27 +02:00
Rasmus Lerchedahl Petersen
2a56fb5a21
python: expand TODO
2022-10-17 10:23:55 +02:00
Rasmus Lerchedahl Petersen
c4271c1125
Python: add TODO comments
2022-10-17 10:22:47 +02:00
Anders Schack-Mulligen
6ef5fac239
Merge pull request #10814 from aschackmull/dataflow/synth-global
...
Dataflow: Add support for synthetic global fields in MaD.
2022-10-17 08:34:26 +02:00
yoff
40526fdedb
Update python/ql/lib/change-notes/2022-10-04-api-subscript-nodes.md
...
Co-authored-by: Taus <tausbn@github.com >
2022-10-15 08:16:19 +02:00
Rasmus Wriedt Larsen
fb49babc14
Merge pull request #10778 from sylwia-budzynska/python-db-models
...
Python: Add cx_Oracle, phoenixdb, pyodbc models
2022-10-14 10:49:24 +02:00
sylwia-budzynska
0eb48969a0
Fix typo
2022-10-13 20:02:03 +02:00
Sylwia Budzynska
e291d61bc7
Add oracledb model
2022-10-13 18:08:47 +02:00
Josh Soref
08f688d240
spelling: without
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
9fef7d4130
spelling: which
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
5765a71d90
spelling: whether
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
f19a5c43f0
spelling: uninitialized
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
8669de57e7
spelling: the
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
7ee24e5fbb
spelling: synthesized
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
887b49aae4
spelling: superfluous
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
33bc3131f9
spelling: something
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
05e20a389e
spelling: shortcuts
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
bc339e4477
spelling: see https
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
ad7dc81bdc
spelling: sanitize
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
eed09718c5
spelling: retrieval
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
d1929ab281
spelling: restrictions
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
36bd186aa0
spelling: response
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
76aa0481bf
spelling: resolve
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
00cc3331ea
spelling: request
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
24f847a58c
spelling: representing
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
441d5359cc
spelling: recursion
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
7ad24f3121
spelling: recommendation
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
c02b6b3151
spelling: qualified
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
7b019da56a
spelling: quadratic
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
662c96e412
spelling: processing
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
7883263375
spelling: printing
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
2f8c515064
spelling: parameter
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
90aa65a9d0
spelling: package
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
3337f4cba5
spelling: override
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
02f3ce1c43
spelling: mutually
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
6ac31517ac
spelling: method
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
06ec1e2a07
spelling: looking
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
3a38da0791
spelling: jumpsteps
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
d18f5c7eb2
spelling: interacting
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
5f1f551368
spelling: indirection
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
df05c77772
spelling: important
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00
Josh Soref
9d53938859
spelling: further
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:09 -04:00