mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
So I've been thinking a bit about import pkg_ok.foo1 after reading the Python references for imports of submodules https://docs.python.org/3/reference/import.html#submodules > When a submodule is loaded using any mechanism (...) a binding is placed in the parent module’s namespace to the submodule object. For example, if package spam has a submodule foo, after importing spam.foo, spam will have an attribute foo which is bound to the submodule. That does at least explain what is going on here. I feel that import pkg_ok.foo1 might be a very contrived example. In principle it should be an alert, since the module pkg_ok ends up with an import of itself, but my gut feeling is that in practice it's not a very important piece of code to give alerts for. if we really care about giving these import related alerts, we could probably add a new query for this pattern, as it's kind of surprising that it works when you're just an ordinary python programmer.
11 lines
823 B
Plaintext
11 lines
823 B
Plaintext
| imports_test.py:8:1:8:19 | Import | The module 'imports_test' imports itself. |
|
|
| pkg_notok/__init__.py:4:1:4:16 | Import | The module 'pkg_notok' imports itself. |
|
|
| pkg_notok/__init__.py:10:1:10:20 | Import | The module 'pkg_notok' imports itself. |
|
|
| pkg_notok/__init__.py:12:1:12:25 | Import | The module 'pkg_notok' imports itself. |
|
|
| pkg_notok/__init__.py:13:1:13:37 | Import | The module 'pkg_notok' imports itself. |
|
|
| pkg_ok/__init__.py:1:1:1:26 | Import | The module 'pkg_ok' imports itself. |
|
|
| pkg_ok/__init__.py:3:1:3:23 | Import | The module 'pkg_ok' imports itself. |
|
|
| pkg_ok/__init__.py:4:1:4:28 | Import | The module 'pkg_ok' imports itself. |
|
|
| pkg_ok/__init__.py:6:1:6:18 | Import | The module 'pkg_ok' imports itself. |
|
|
| pkg_ok/__init__.py:7:1:7:22 | Import | The module 'pkg_ok' imports itself. |
|