Files
codeql/cpp/ql/test/library-tests
Jonas Jensen 76e194c8be C++: Fix struct field conflation in IR data flow
The virtual-dispatch code for globals was missing any relationship
between the union field access and the global variable, which meant it
propagated function-pointer flow between any two fields of a global
struct. This resulted in false positives from
`cpp/tainted-format-string` on projects using SDL, such as
WohlSoft/PGE-Project.

In addition to fixing that bug, this commit also brings the code up to
date with the new style of modeling flow through global variables:
`DataFlow::Node.asVariable()`.
2020-05-18 16:24:22 +02:00
..
2020-03-31 12:55:45 +01:00
2020-03-19 09:18:32 -04:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2018-10-18 12:36:42 +01:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2018-10-26 11:07:18 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-05-02 11:16:21 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-04-13 14:03:02 -07:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-11-07 14:08:25 +00:00
2020-01-20 15:00:09 +00:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2018-09-23 16:23:52 -07:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-03-13 06:46:07 -04:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2020-01-29 13:11:50 +01:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-03-31 17:10:33 +02:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2018-09-23 16:24:31 -07:00
2019-11-13 18:53:43 +00:00
2019-09-09 11:25:53 +02:00
2019-09-09 11:25:53 +02:00
2020-03-13 06:46:07 -04:00
2019-09-09 11:25:53 +02:00
2020-01-29 13:11:50 +01:00
2020-01-29 13:11:50 +01:00