Python: Fix results outside DB for StackTraceExposure

This commit is contained in:
Rasmus Wriedt Larsen
2022-11-02 09:55:59 +01:00
parent 972cfa5cf6
commit 6646e98d20
2 changed files with 25 additions and 111 deletions

View File

@@ -42,7 +42,31 @@ module StackTraceExposure {
* A source of exception info, considered as a flow source.
*/
class ExceptionInfoAsSource extends Source {
ExceptionInfoAsSource() { this instanceof ExceptionInfo }
ExceptionInfoAsSource() {
this instanceof ExceptionInfo and
// since `traceback.format_exc()` in Python 2 is internally implemented as
// ```py
// def format_exc(limit=None):
// """Like print_exc() but return a string."""
// try:
// etype, value, tb = sys.exc_info()
// return ''.join(format_exception(etype, value, tb, limit))
// finally:
// etype = value = tb = None
// ```
// any time we would report flow to such from a call to format_exc, we can ALSO report
// the flow from the `sys.exc_info()` source -- obviously we don't want that.
//
//
// To avoid this, we use the same approach as for sinks in the command injection
// query (and others).
not exists(Module traceback |
traceback.getName() = "traceback" and
this.getScope().getEnclosingModule() = traceback and
// do allow this call if we're analyzing traceback.py as part of CPython though
not exists(traceback.getFile().getRelativePath())
)
}
}
/**

View File

@@ -1,56 +1,4 @@
edges
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:22:130:26 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:41:144:45 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:29:130:33 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:41:144:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:41:144:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:27:147:31 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:27:147:31 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:40:173:44 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:47:173:51 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:47:178:51 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:48:200:52 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:40:173:44 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:40:173:44 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:28:203:32 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:47:173:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:47:173:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:17:178:52 | ControlFlowNode for _format_final_exc_line() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:16:178:53 | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:47:178:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:17:178:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:47:178:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:18:200:53 | ControlFlowNode for _format_final_exc_line() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:201:12:201:16 | ControlFlowNode for lines |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:48:200:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:18:200:53 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:48:200:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:28:203:32 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:28:203:32 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:16:205:31 | ControlFlowNode for _some_str() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:16:205:31 | ControlFlowNode for _some_str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:214:16:214:25 | ControlFlowNode for str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:219:16:219:56 | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:13 | SSA variable etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:41:242:45 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:13 | SSA variable etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:16:241:20 | SSA variable value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 0] | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:13 | SSA variable etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 1] | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:16:241:20 | SSA variable value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | IterableElement | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | IterableElement | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 0] |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | IterableElement | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 1] |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:16:241:20 | SSA variable value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:48:242:52 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | IterableElement |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:16:242:65 | ControlFlowNode for Attribute() | test.py:16:16:16:37 | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:16:242:65 | ControlFlowNode for Attribute() | test.py:49:15:49:36 | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:16:242:65 | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:41:242:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:22:130:26 | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:41:242:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:48:242:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:29:130:33 | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:48:242:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() |
| test.py:23:25:23:25 | SSA variable e | test.py:24:16:24:16 | ControlFlowNode for e |
| test.py:31:25:31:25 | SSA variable e | test.py:32:16:32:30 | ControlFlowNode for Attribute |
| test.py:49:15:49:36 | ControlFlowNode for Attribute() | test.py:50:29:50:31 | ControlFlowNode for err |
@@ -59,50 +7,6 @@ edges
| test.py:52:18:52:20 | ControlFlowNode for msg | test.py:53:12:53:27 | ControlFlowNode for BinaryExpr |
| test.py:65:25:65:25 | SSA variable e | test.py:66:24:66:40 | ControlFlowNode for Dict |
nodes
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:22:130:26 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:29:130:33 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() | semmle.label | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() | semmle.label | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:41:144:45 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list | semmle.label | ControlFlowNode for list |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list | semmle.label | ControlFlowNode for list |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:27:147:31 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List | semmle.label | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List | semmle.label | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() | semmle.label | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() | semmle.label | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:40:173:44 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:47:173:51 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:16:178:53 | ControlFlowNode for List | semmle.label | ControlFlowNode for List |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:17:178:52 | ControlFlowNode for _format_final_exc_line() | semmle.label | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:47:178:51 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:18:200:53 | ControlFlowNode for _format_final_exc_line() | semmle.label | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:48:200:52 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:201:12:201:16 | ControlFlowNode for lines | semmle.label | ControlFlowNode for lines |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:28:203:32 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:16:205:31 | ControlFlowNode for _some_str() | semmle.label | ControlFlowNode for _some_str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple | semmle.label | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:209:30:209:44 | ControlFlowNode for Tuple | semmle.label | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | semmle.label | ControlFlowNode for line |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | semmle.label | ControlFlowNode for line |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:214:16:214:25 | ControlFlowNode for str() | semmle.label | ControlFlowNode for str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:219:16:219:56 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:13 | SSA variable etype | semmle.label | SSA variable etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple | semmle.label | ControlFlowNode for Tuple |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 0] | semmle.label | ControlFlowNode for Tuple [Tuple element at index 0] |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | ControlFlowNode for Tuple [Tuple element at index 1] | semmle.label | ControlFlowNode for Tuple [Tuple element at index 1] |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:9:241:24 | IterableElement | semmle.label | IterableElement |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:16:241:20 | SSA variable value | semmle.label | SSA variable value |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:16:242:65 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() | semmle.label | ControlFlowNode for format_exception() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:41:242:45 | ControlFlowNode for etype | semmle.label | ControlFlowNode for etype |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:48:242:52 | ControlFlowNode for value | semmle.label | ControlFlowNode for value |
| test.py:16:16:16:37 | ControlFlowNode for Attribute() | semmle.label | ControlFlowNode for Attribute() |
| test.py:23:25:23:25 | SSA variable e | semmle.label | SSA variable e |
| test.py:24:16:24:16 | ControlFlowNode for e | semmle.label | ControlFlowNode for e |
@@ -116,24 +20,10 @@ nodes
| test.py:65:25:65:25 | SSA variable e | semmle.label | SSA variable e |
| test.py:66:24:66:40 | ControlFlowNode for Dict | semmle.label | ControlFlowNode for Dict |
subpaths
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:41:144:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:27:147:31 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:16:173:53 | ControlFlowNode for List | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:16:178:53 | ControlFlowNode for List | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:48:144:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:147:34:147:38 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:201:12:201:16 | ControlFlowNode for lines | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:144:19:144:53 | ControlFlowNode for format_exception_only() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:40:173:44 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:28:203:32 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:47:173:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:173:17:173:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:47:178:51 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:178:17:178:52 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:48:200:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:203:35:203:39 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:210:12:210:15 | ControlFlowNode for line | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:200:18:200:53 | ControlFlowNode for _format_final_exc_line() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:214:16:214:25 | ControlFlowNode for str() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:16:205:31 | ControlFlowNode for _some_str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:26:205:30 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:212:15:212:19 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:219:16:219:56 | ControlFlowNode for Attribute() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:205:16:205:31 | ControlFlowNode for _some_str() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:41:242:45 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:22:130:26 | ControlFlowNode for etype | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() |
| file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:48:242:52 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:130:29:130:33 | ControlFlowNode for value | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:145:12:145:15 | ControlFlowNode for list | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:242:24:242:64 | ControlFlowNode for format_exception() |
| test.py:50:29:50:31 | ControlFlowNode for err | test.py:52:18:52:20 | ControlFlowNode for msg | test.py:53:12:53:27 | ControlFlowNode for BinaryExpr | test.py:50:16:50:32 | ControlFlowNode for format_error() |
#select
| test.py:16:16:16:37 | ControlFlowNode for Attribute() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | test.py:16:16:16:37 | ControlFlowNode for Attribute() | $@ flows to this location and may be exposed to an external user. | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | Stack trace information |
| test.py:16:16:16:37 | ControlFlowNode for Attribute() | test.py:16:16:16:37 | ControlFlowNode for Attribute() | test.py:16:16:16:37 | ControlFlowNode for Attribute() | $@ flows to this location and may be exposed to an external user. | test.py:16:16:16:37 | ControlFlowNode for Attribute() | Stack trace information |
| test.py:24:16:24:16 | ControlFlowNode for e | test.py:23:25:23:25 | SSA variable e | test.py:24:16:24:16 | ControlFlowNode for e | $@ flows to this location and may be exposed to an external user. | test.py:23:25:23:25 | SSA variable e | Stack trace information |
| test.py:32:16:32:30 | ControlFlowNode for Attribute | test.py:31:25:31:25 | SSA variable e | test.py:32:16:32:30 | ControlFlowNode for Attribute | $@ flows to this location and may be exposed to an external user. | test.py:31:25:31:25 | SSA variable e | Stack trace information |
| test.py:50:16:50:32 | ControlFlowNode for format_error() | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | test.py:50:16:50:32 | ControlFlowNode for format_error() | $@ flows to this location and may be exposed to an external user. | file:///home/rasmus/.pyenv/versions/2.7.18/lib/python2.7/traceback.py:241:28:241:41 | ControlFlowNode for Attribute() | Stack trace information |
| test.py:50:16:50:32 | ControlFlowNode for format_error() | test.py:49:15:49:36 | ControlFlowNode for Attribute() | test.py:50:16:50:32 | ControlFlowNode for format_error() | $@ flows to this location and may be exposed to an external user. | test.py:49:15:49:36 | ControlFlowNode for Attribute() | Stack trace information |
| test.py:66:24:66:40 | ControlFlowNode for Dict | test.py:65:25:65:25 | SSA variable e | test.py:66:24:66:40 | ControlFlowNode for Dict | $@ flows to this location and may be exposed to an external user. | test.py:65:25:65:25 | SSA variable e | Stack trace information |