Gabor Borsik
4bde15fe1e
[analyzer] Add yaml parser to GenericTaintChecker
...
While we implemented taint propagation rules for several
builtin/standard functions, there's a natural desire for users to add
such rules to custom functions.
A series of patches will implement an option that allows users to
annotate their functions with taint propagation rules through a YAML
file. This one adds parsing of the configuration file, which may be
specified in the commands line with the analyzer config:
alpha.security.taint.TaintPropagation:Config. The configuration may
contain propagation rules, filter functions (remove taint) and sink
functions (give a warning if it gets a tainted value).
I also added a new header for future checkers to conveniently read YAML
files as checker options.
Differential Revision: https://reviews.llvm.org/D59555
llvm-svn: 367190
2019-07-28 13:38:04 +00:00
..
2018-12-13 01:30:47 +00:00
2019-06-11 14:21:32 +00:00
2019-06-19 15:27:35 +00:00
2019-07-12 02:10:33 +00:00
2018-05-11 20:38:39 +00:00
2018-10-03 20:46:50 +00:00
2019-06-16 17:29:37 +00:00
2019-07-28 13:38:04 +00:00
2018-04-06 15:14:32 +00:00
2018-04-25 21:51:26 +00:00
2018-06-06 06:25:51 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2018-04-06 15:14:32 +00:00
2018-08-13 23:12:43 +00:00
2019-01-26 21:41:50 +00:00
2019-05-23 22:52:09 +00:00
2019-07-28 13:38:04 +00:00
2019-05-23 20:47:28 +00:00
2018-08-29 20:29:17 +00:00
2019-03-15 00:22:59 +00:00
2019-06-03 15:57:25 +00:00
2018-10-20 22:49:23 +00:00
2018-08-29 20:29:17 +00:00
2018-06-28 00:18:52 +00:00
2018-05-16 22:47:05 +00:00
2018-07-16 13:14:46 +00:00
2018-08-29 20:29:17 +00:00
2019-05-31 00:45:09 +00:00
2019-05-23 15:49:04 +00:00
2019-05-23 15:49:04 +00:00
2018-08-29 20:29:17 +00:00
2019-04-03 01:53:40 +00:00
2018-05-16 00:29:13 +00:00
2019-04-03 18:21:16 +00:00
2019-07-10 00:20:03 +00:00
2018-12-22 02:06:51 +00:00
2018-12-22 02:06:51 +00:00
2018-12-15 02:06:13 +00:00
2019-07-26 14:50:05 +00:00
2019-07-12 02:16:56 +00:00
2018-07-31 20:45:53 +00:00
2019-01-18 23:05:07 +00:00
2019-04-19 11:01:35 +00:00
2019-05-23 20:47:28 +00:00
2019-05-18 12:34:08 +00:00
2019-02-11 22:54:27 +00:00
2018-08-29 20:29:17 +00:00
2019-06-11 14:21:32 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2019-03-28 13:05:59 +00:00
2018-11-16 01:00:55 +00:00
2018-08-29 20:29:17 +00:00
2019-05-07 22:33:13 +00:00
2019-05-23 15:49:04 +00:00
2018-07-30 23:44:37 +00:00
2019-02-08 23:59:52 +00:00
2018-08-29 20:29:17 +00:00
2019-01-10 17:44:04 +00:00
2018-07-04 14:12:58 +00:00
2019-07-08 12:37:10 +00:00
2019-01-10 17:44:04 +00:00
2019-07-04 11:39:00 +00:00
2019-01-10 17:44:04 +00:00
2019-06-11 14:21:32 +00:00
2019-04-19 23:33:50 +00:00
2019-04-19 23:33:50 +00:00
2019-04-19 23:33:50 +00:00
2019-04-30 08:47:56 +00:00
2019-04-19 23:33:50 +00:00
2019-04-19 23:33:50 +00:00
2019-05-18 12:34:08 +00:00
2018-04-06 15:14:32 +00:00
2019-06-20 22:29:40 +00:00
2018-12-12 18:11:36 +00:00
2019-04-19 12:32:10 +00:00
2019-07-05 12:17:44 +00:00
2019-07-05 12:17:44 +00:00
2018-05-04 14:13:14 +00:00
2018-12-17 12:07:57 +00:00
2019-07-03 01:26:41 +00:00
2019-07-12 02:10:33 +00:00
2018-04-06 15:14:32 +00:00
2019-06-11 14:21:32 +00:00
2019-06-27 22:46:40 +00:00
2018-08-02 22:31:03 +00:00
2018-11-24 12:24:27 +00:00
2018-04-11 06:21:12 +00:00
2019-07-12 02:10:33 +00:00
2018-12-22 02:06:51 +00:00
2019-01-26 21:41:50 +00:00
2019-04-23 11:04:41 +00:00
2018-08-29 20:29:17 +00:00
2018-07-16 20:32:57 +00:00
2019-06-11 14:21:32 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2019-02-07 00:30:20 +00:00
2018-08-29 20:29:17 +00:00
2018-05-31 17:22:38 +00:00
2018-06-28 00:42:11 +00:00
2018-05-29 14:14:22 +00:00
2018-05-29 14:14:22 +00:00
2019-05-24 23:37:08 +00:00
2019-05-24 23:37:08 +00:00
2019-04-30 03:01:02 +00:00
2019-06-11 14:21:32 +00:00
2019-06-11 14:21:32 +00:00
2018-08-29 20:29:17 +00:00
2019-05-29 20:34:29 +00:00
2018-12-21 01:11:21 +00:00
2018-12-21 01:11:21 +00:00
2019-05-17 15:52:13 +00:00
2018-09-10 09:07:47 +00:00
2018-12-04 10:27:27 +00:00
2018-08-29 20:29:17 +00:00
2018-11-30 03:27:50 +00:00
2019-07-01 23:29:10 +00:00
2019-06-11 14:21:32 +00:00
2018-08-10 18:28:04 +00:00
2019-06-25 01:45:26 +00:00
2018-08-29 20:29:17 +00:00
2018-07-31 19:46:14 +00:00
2019-06-19 15:27:35 +00:00
2018-03-31 01:20:06 +00:00
2018-12-16 23:44:06 +00:00
2019-01-20 21:19:56 +00:00
2018-11-02 15:48:10 +00:00
2018-04-06 15:14:32 +00:00
2019-03-29 22:43:34 +00:00
2018-11-30 03:27:50 +00:00
2018-06-06 06:25:51 +00:00
2018-08-07 23:13:28 +00:00
2018-08-29 20:29:17 +00:00
2018-06-12 22:22:35 +00:00
2018-08-29 20:29:17 +00:00
2019-01-26 20:06:54 +00:00
2018-09-21 20:36:41 +00:00
2019-06-11 14:21:32 +00:00
2019-04-03 18:21:16 +00:00
2019-04-13 02:01:45 +00:00
2018-04-19 23:24:32 +00:00
2018-12-17 12:07:57 +00:00
2018-10-03 22:48:00 +00:00
2019-06-11 14:21:32 +00:00
2019-05-15 01:19:19 +00:00
2018-08-29 20:29:17 +00:00
2018-04-06 15:14:32 +00:00
2018-08-29 20:29:17 +00:00
2019-03-13 13:55:11 +00:00
2019-06-11 14:21:32 +00:00
2018-08-29 20:29:17 +00:00
2018-12-15 02:09:02 +00:00
2019-06-11 14:21:32 +00:00
2018-10-15 17:53:18 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2019-06-15 10:05:49 +00:00
2019-06-15 10:05:49 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2019-01-26 20:06:54 +00:00
2018-11-01 00:43:35 +00:00
2019-06-11 14:21:32 +00:00
2018-11-01 00:43:35 +00:00
2019-01-26 20:06:54 +00:00
2019-04-26 02:05:12 +00:00
2019-04-05 20:18:53 +00:00
2019-07-01 23:02:14 +00:00
2018-06-26 21:12:08 +00:00
2019-05-29 20:29:02 +00:00
2019-06-11 14:21:32 +00:00
2019-05-23 15:49:04 +00:00
2018-12-03 21:04:30 +00:00
2019-06-11 14:21:32 +00:00
2018-12-03 21:04:30 +00:00
2019-06-14 17:46:38 +00:00
2019-06-11 14:21:32 +00:00
2018-08-29 20:29:17 +00:00
2018-04-06 15:14:32 +00:00
2019-06-11 14:21:32 +00:00
2019-04-19 23:33:50 +00:00
2019-07-17 18:03:39 +00:00
2019-06-19 23:33:39 +00:00
2019-01-29 19:29:07 +00:00
2019-04-23 02:56:00 +00:00
2019-06-19 23:33:34 +00:00
2019-02-10 20:20:26 +00:00
2019-03-08 16:00:42 +00:00
2019-06-07 23:34:00 +00:00
2019-03-08 16:00:42 +00:00
2018-10-30 01:20:37 +00:00
2018-05-25 13:18:38 +00:00
2018-05-25 13:18:38 +00:00
2019-03-14 16:10:29 +00:00
2019-07-25 12:46:42 +00:00
2019-06-11 14:21:32 +00:00
2019-06-11 14:21:32 +00:00
2019-06-11 14:21:32 +00:00
2019-06-11 14:21:32 +00:00
2018-09-07 21:58:24 +00:00
2018-12-20 19:36:06 +00:00
2019-03-18 19:23:45 +00:00
2018-07-17 01:39:25 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2018-07-23 10:53:02 +00:00
2019-02-15 12:33:42 +00:00
2019-01-18 22:52:13 +00:00
2018-08-29 20:29:17 +00:00
2019-03-07 13:01:17 +00:00
2019-05-24 19:24:08 +00:00
2019-03-13 19:21:11 +00:00
2019-04-23 11:04:41 +00:00
2018-08-29 20:29:17 +00:00
2018-06-13 18:32:19 +00:00
2018-08-29 20:29:17 +00:00
2019-07-18 00:03:55 +00:00
2019-01-10 18:15:57 +00:00
2018-11-30 03:27:50 +00:00
2019-06-11 14:21:32 +00:00
2018-04-19 23:00:22 +00:00
2019-06-11 14:21:32 +00:00
2019-04-26 02:05:15 +00:00
2019-01-10 18:15:57 +00:00
2019-07-10 00:20:03 +00:00
2019-07-01 23:02:18 +00:00
2018-09-28 18:44:09 +00:00
2019-04-17 19:56:40 +00:00
2019-04-18 00:00:06 +00:00
2019-04-17 19:56:40 +00:00
2018-11-30 03:27:50 +00:00
2019-05-23 21:46:51 +00:00
2018-11-30 03:27:50 +00:00
2019-04-30 03:00:57 +00:00
2018-07-23 21:21:22 +00:00
2018-07-23 21:21:22 +00:00
2018-07-23 21:21:22 +00:00
2018-10-02 20:50:40 +00:00
2018-10-02 20:50:40 +00:00
2018-10-02 20:50:40 +00:00
2019-07-01 23:02:10 +00:00
2018-12-19 21:51:59 +00:00
2018-04-23 16:38:29 +00:00
2018-12-22 02:06:51 +00:00
2018-11-30 10:37:44 +00:00
2018-08-29 20:29:17 +00:00
2019-06-25 00:44:33 +00:00
2019-02-06 23:56:43 +00:00
2019-01-18 00:08:56 +00:00
2018-05-02 12:11:22 +00:00
2019-03-29 22:49:30 +00:00
2019-07-28 13:38:04 +00:00
2019-04-03 18:21:16 +00:00
2018-07-27 17:13:18 +00:00
2018-08-29 20:29:17 +00:00
2018-08-29 20:29:17 +00:00
2018-06-28 00:11:42 +00:00
2018-12-19 23:14:06 +00:00
2018-08-15 00:33:55 +00:00
2018-08-29 20:29:17 +00:00
2019-01-26 20:06:54 +00:00
2018-04-15 10:34:06 +00:00
2019-07-05 14:00:08 +00:00
2018-10-04 00:07:45 +00:00
2018-03-24 01:53:12 +00:00
2019-03-08 16:00:42 +00:00
2018-12-03 11:28:17 +00:00
2018-08-22 23:17:25 +00:00
2018-08-29 22:48:50 +00:00
2018-08-29 22:48:50 +00:00
2019-05-29 20:29:02 +00:00
2019-04-24 00:08:02 +00:00
2019-06-11 14:21:32 +00:00
2019-05-29 20:34:29 +00:00
2019-02-17 19:51:42 +00:00
2019-05-29 20:06:09 +00:00
2018-08-29 20:29:17 +00:00
2018-06-28 22:08:44 +00:00