Add tests and update scripts for part 3

This commit is contained in:
Nikita Kraiouchkine
2023-05-12 14:17:07 +02:00
parent c00bc1a8a0
commit de87347215
18 changed files with 750 additions and 4 deletions

View File

@@ -347,7 +347,7 @@ It helps to approach implementing each predicate with an understanding of its pu
Reimplement the new `isSource` and `isSink` predicates to bind state to `TypeUnvalidatedState`. Ignore the `isAdditionalFlowStep/4` and `isBarrier/2` predicates for now; they will be used in a later exercise.
You should see the same results as in Exercise 12.
You should see the same results as in Exercise 12 (92 results).
### Exercise 14
There are two primary ways to define state along a path:

View File

@@ -0,0 +1,92 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:36:48:36:52 | input | test.c:55:21:55:25 | input |
| test.c:36:48:36:52 | input | test.c:65:19:65:23 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:65:19:65:23 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input | test.c:75:21:75:25 | input |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:89:26:89:30 | input |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:65:19:65:23 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | Access to dynamic input array with missing or mismatched type validation. |

View File

@@ -0,0 +1 @@
Exercise13.ql

View File

@@ -0,0 +1,69 @@
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input | test.c:53:14:53:27 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |

View File

@@ -0,0 +1 @@
Exercise14.ql

View File

@@ -0,0 +1,104 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:70:28:70:32 | input indirection |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:70:28:70:32 | input indirection | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input indirection | test.c:75:21:75:25 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:84:35:84:39 | input indirection |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:84:35:84:39 | input indirection | test.c:89:26:89:30 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:70:28:70:32 | input indirection | semmle.label | input indirection |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:84:35:84:39 | input indirection | semmle.label | input indirection |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | Access to dynamic input array with missing or mismatched type validation. |

View File

@@ -0,0 +1 @@
Exercise15.ql

View File

@@ -0,0 +1,104 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:70:28:70:32 | input indirection |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:70:28:70:32 | input indirection | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input indirection | test.c:75:21:75:25 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:84:35:84:39 | input indirection |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:84:35:84:39 | input indirection | test.c:89:26:89:30 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:70:28:70:32 | input indirection | semmle.label | input indirection |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:84:35:84:39 | input indirection | semmle.label | input indirection |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:53:14:53:27 | call to DYN_INPUT_TYPE | here |
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | No type validation performed before dynamic input access. | test.c:32:10:32:14 | input | here |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | No type validation performed before dynamic input access. | test.c:32:28:32:32 | input | here |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | No type validation performed before dynamic input access. | test.c:33:10:33:14 | input | here |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | No type validation performed before dynamic input access. | test.c:38:10:38:14 | input | here |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | No type validation performed before dynamic input access. | test.c:38:28:38:32 | input | here |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | No type validation performed before dynamic input access. | test.c:39:10:39:14 | input | here |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | No type validation performed before dynamic input access. | test.c:46:10:46:14 | input | here |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | No type validation performed before dynamic input access. | test.c:46:28:46:32 | input | here |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | No type validation performed before dynamic input access. | test.c:47:10:47:14 | input | here |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | No type validation performed before dynamic input access. | test.c:51:12:51:16 | input | here |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | No type validation performed before dynamic input access. | test.c:51:30:51:34 | input | here |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | No type validation performed before dynamic input access. | test.c:52:12:52:16 | input | here |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | No type validation performed before dynamic input access. | test.c:79:16:79:20 | input | here |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | No type validation performed before dynamic input access. | test.c:80:16:80:20 | input | here |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Dynamic input access does not match prior type-validation $@. | test.c:85:22:85:35 | call to DYN_INPUT_TYPE | here |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | No type validation performed before dynamic input access. | test.c:93:10:93:14 | input | here |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | No type validation performed before dynamic input access. | test.c:93:29:93:33 | input | here |

View File

@@ -0,0 +1 @@
Exercise16.ql

View File

@@ -25,9 +25,9 @@ for dir in "${target_dirs[@]}"; do
cp $SRCDIR/test_part2.c $dir/Exercise$i/test.c
done
# copy test-part3.c to the Exercise13-Exercise15 directories
# for i in {13..15}; do
# cp $SRCDIR/test_part3.c $dir/Exercise$i/test.c
# done
for i in {13..16}; do
cp $SRCDIR/test_part3.c $dir/Exercise$i/test.c
done
done
exit 0

View File

@@ -0,0 +1,92 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:36:48:36:52 | input | test.c:55:21:55:25 | input |
| test.c:36:48:36:52 | input | test.c:65:19:65:23 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:65:19:65:23 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input | test.c:75:21:75:25 | input |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:89:26:89:30 | input |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:65:19:65:23 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | Access to dynamic input array with missing or mismatched type validation. |

View File

@@ -0,0 +1 @@
Exercise13.ql

View File

@@ -0,0 +1,69 @@
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input | test.c:53:14:53:27 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:58:7:58:17 | Phi | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:23:63:25 | buf indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:63:41:63:43 | buf indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:10:63:14 | input | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:23:63:25 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:63:41:63:43 | buf | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:64:23:64:26 | size indirection | test.c:64:23:64:26 | size | test.c:58:22:58:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:70:28:70:32 | input indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:72:27:72:29 | val indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:73:27:73:29 | val indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:18:72:22 | input | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:18:72:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:72:27:72:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:73:18:73:31 | ... ++ | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:73:27:73:29 | val | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:74:32:74:35 | size indirection | test.c:74:32:74:35 | size | test.c:71:22:71:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:84:35:84:39 | input indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:86:25:86:27 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:88:13:89:42 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:86:12:86:16 | input | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:86:25:86:27 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:88:12:89:42 | * ... | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |
| test.c:89:39:89:41 | buf indirection | test.c:89:39:89:41 | buf | test.c:85:22:85:35 | call to DYN_INPUT_TYPE |

View File

@@ -0,0 +1 @@
Exercise14.ql

View File

@@ -0,0 +1,104 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:70:28:70:32 | input indirection |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:70:28:70:32 | input indirection | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input indirection | test.c:75:21:75:25 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:84:35:84:39 | input indirection |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:84:35:84:39 | input indirection | test.c:89:26:89:30 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:70:28:70:32 | input indirection | semmle.label | input indirection |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:84:35:84:39 | input indirection | semmle.label | input indirection |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | Access to dynamic input array with missing or mismatched type validation. |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | Access to dynamic input array with missing or mismatched type validation. |

View File

@@ -0,0 +1 @@
Exercise15.ql

View File

@@ -0,0 +1,104 @@
edges
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:10:32:14 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:32:28:32:32 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:31:35:31:39 | input | test.c:33:10:33:14 | input |
| test.c:36:48:36:52 | input | test.c:38:10:38:14 | input |
| test.c:36:48:36:52 | input | test.c:38:28:38:32 | input |
| test.c:36:48:36:52 | input | test.c:39:10:39:14 | input |
| test.c:36:48:36:52 | input | test.c:40:19:40:23 | input |
| test.c:36:48:36:52 | input | test.c:46:10:46:14 | input |
| test.c:36:48:36:52 | input | test.c:46:28:46:32 | input |
| test.c:36:48:36:52 | input | test.c:47:10:47:14 | input |
| test.c:36:48:36:52 | input | test.c:48:19:48:23 | input |
| test.c:36:48:36:52 | input | test.c:51:12:51:16 | input |
| test.c:36:48:36:52 | input | test.c:51:30:51:34 | input |
| test.c:36:48:36:52 | input | test.c:52:12:52:16 | input |
| test.c:40:19:40:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:31:35:31:39 | input |
| test.c:48:19:48:23 | input | test.c:55:21:55:25 | input |
| test.c:55:21:55:25 | input | test.c:31:35:31:39 | input |
| test.c:70:28:70:32 | input | test.c:70:28:70:32 | input indirection |
| test.c:70:28:70:32 | input | test.c:79:16:79:20 | input |
| test.c:70:28:70:32 | input | test.c:80:16:80:20 | input |
| test.c:70:28:70:32 | input indirection | test.c:74:19:74:23 | input |
| test.c:70:28:70:32 | input indirection | test.c:75:21:75:25 | input |
| test.c:75:21:75:25 | input | test.c:31:35:31:39 | input |
| test.c:84:35:84:39 | input | test.c:84:35:84:39 | input indirection |
| test.c:84:35:84:39 | input | test.c:93:10:93:14 | input |
| test.c:84:35:84:39 | input | test.c:93:29:93:33 | input |
| test.c:84:35:84:39 | input indirection | test.c:89:26:89:30 | input |
| test.c:104:29:104:33 | input | test.c:105:22:105:26 | input |
| test.c:105:22:105:26 | input | test.c:36:48:36:52 | input |
| test.c:108:30:108:34 | input | test.c:109:20:109:24 | input |
| test.c:109:20:109:24 | input | test.c:70:28:70:32 | input |
| test.c:112:37:112:41 | input | test.c:113:27:113:31 | input |
| test.c:113:27:113:31 | input | test.c:84:35:84:39 | input |
nodes
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:31:35:31:39 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:10:32:14 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:32:28:32:32 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:33:10:33:14 | input | semmle.label | input |
| test.c:36:48:36:52 | input | semmle.label | input |
| test.c:38:10:38:14 | input | semmle.label | input |
| test.c:38:28:38:32 | input | semmle.label | input |
| test.c:39:10:39:14 | input | semmle.label | input |
| test.c:40:19:40:23 | input | semmle.label | input |
| test.c:46:10:46:14 | input | semmle.label | input |
| test.c:46:28:46:32 | input | semmle.label | input |
| test.c:47:10:47:14 | input | semmle.label | input |
| test.c:48:19:48:23 | input | semmle.label | input |
| test.c:51:12:51:16 | input | semmle.label | input |
| test.c:51:30:51:34 | input | semmle.label | input |
| test.c:52:12:52:16 | input | semmle.label | input |
| test.c:55:21:55:25 | input | semmle.label | input |
| test.c:70:28:70:32 | input | semmle.label | input |
| test.c:70:28:70:32 | input indirection | semmle.label | input indirection |
| test.c:74:19:74:23 | input | semmle.label | input |
| test.c:75:21:75:25 | input | semmle.label | input |
| test.c:79:16:79:20 | input | semmle.label | input |
| test.c:80:16:80:20 | input | semmle.label | input |
| test.c:84:35:84:39 | input | semmle.label | input |
| test.c:84:35:84:39 | input indirection | semmle.label | input indirection |
| test.c:89:26:89:30 | input | semmle.label | input |
| test.c:93:10:93:14 | input | semmle.label | input |
| test.c:93:29:93:33 | input | semmle.label | input |
| test.c:104:29:104:33 | input | semmle.label | input |
| test.c:105:22:105:26 | input | semmle.label | input |
| test.c:108:30:108:34 | input | semmle.label | input |
| test.c:109:20:109:24 | input | semmle.label | input |
| test.c:112:37:112:41 | input | semmle.label | input |
| test.c:113:27:113:31 | input | semmle.label | input |
subpaths
#select
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:53:14:53:27 | call to DYN_INPUT_TYPE | here |
| test.c:32:10:32:14 | input | test.c:104:29:104:33 | input | test.c:32:10:32:14 | input | No type validation performed before dynamic input access. | test.c:32:10:32:14 | input | here |
| test.c:32:10:32:14 | input | test.c:108:30:108:34 | input | test.c:32:10:32:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:32:28:32:32 | input | test.c:104:29:104:33 | input | test.c:32:28:32:32 | input | No type validation performed before dynamic input access. | test.c:32:28:32:32 | input | here |
| test.c:32:28:32:32 | input | test.c:108:30:108:34 | input | test.c:32:28:32:32 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:33:10:33:14 | input | test.c:104:29:104:33 | input | test.c:33:10:33:14 | input | No type validation performed before dynamic input access. | test.c:33:10:33:14 | input | here |
| test.c:33:10:33:14 | input | test.c:108:30:108:34 | input | test.c:33:10:33:14 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:38:10:38:14 | input | test.c:104:29:104:33 | input | test.c:38:10:38:14 | input | No type validation performed before dynamic input access. | test.c:38:10:38:14 | input | here |
| test.c:38:28:38:32 | input | test.c:104:29:104:33 | input | test.c:38:28:38:32 | input | No type validation performed before dynamic input access. | test.c:38:28:38:32 | input | here |
| test.c:39:10:39:14 | input | test.c:104:29:104:33 | input | test.c:39:10:39:14 | input | No type validation performed before dynamic input access. | test.c:39:10:39:14 | input | here |
| test.c:46:10:46:14 | input | test.c:104:29:104:33 | input | test.c:46:10:46:14 | input | No type validation performed before dynamic input access. | test.c:46:10:46:14 | input | here |
| test.c:46:28:46:32 | input | test.c:104:29:104:33 | input | test.c:46:28:46:32 | input | No type validation performed before dynamic input access. | test.c:46:28:46:32 | input | here |
| test.c:47:10:47:14 | input | test.c:104:29:104:33 | input | test.c:47:10:47:14 | input | No type validation performed before dynamic input access. | test.c:47:10:47:14 | input | here |
| test.c:51:12:51:16 | input | test.c:104:29:104:33 | input | test.c:51:12:51:16 | input | No type validation performed before dynamic input access. | test.c:51:12:51:16 | input | here |
| test.c:51:30:51:34 | input | test.c:104:29:104:33 | input | test.c:51:30:51:34 | input | No type validation performed before dynamic input access. | test.c:51:30:51:34 | input | here |
| test.c:52:12:52:16 | input | test.c:104:29:104:33 | input | test.c:52:12:52:16 | input | No type validation performed before dynamic input access. | test.c:52:12:52:16 | input | here |
| test.c:74:19:74:23 | input | test.c:108:30:108:34 | input | test.c:74:19:74:23 | input | Dynamic input access does not match prior type-validation $@. | test.c:71:22:71:35 | call to DYN_INPUT_TYPE | here |
| test.c:79:16:79:20 | input | test.c:108:30:108:34 | input | test.c:79:16:79:20 | input | No type validation performed before dynamic input access. | test.c:79:16:79:20 | input | here |
| test.c:80:16:80:20 | input | test.c:108:30:108:34 | input | test.c:80:16:80:20 | input | No type validation performed before dynamic input access. | test.c:80:16:80:20 | input | here |
| test.c:89:26:89:30 | input | test.c:112:37:112:41 | input | test.c:89:26:89:30 | input | Dynamic input access does not match prior type-validation $@. | test.c:85:22:85:35 | call to DYN_INPUT_TYPE | here |
| test.c:93:10:93:14 | input | test.c:112:37:112:41 | input | test.c:93:10:93:14 | input | No type validation performed before dynamic input access. | test.c:93:10:93:14 | input | here |
| test.c:93:29:93:33 | input | test.c:112:37:112:41 | input | test.c:93:29:93:33 | input | No type validation performed before dynamic input access. | test.c:93:29:93:33 | input | here |

View File

@@ -0,0 +1 @@
Exercise16.ql