Skip to content

Commit 4af0193

Browse files
committed
C++: Modify the argvlocal tests.
1 parent 9f27194 commit 4af0193

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/argv/argvLocal.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,21 +146,21 @@ int main(int argc, char **argv) {
146146

147147
// BAD: i8 value comes from argv
148148
char *i8;
149-
*(&i8 + 1) = argv[1];
149+
*(&i8) = argv[1];
150150
printf(i8);
151151
printWrapper(i8);
152152

153153
// BAD: i9 value comes from argv
154-
155-
char *i9;
156-
memcpy(1 ? i9++ : 0, argv[1], 1);
154+
char i9buf[32];
155+
char *i9 = i9buf;
156+
memcpy(1 ? ++i9 : 0, argv[1], 1);
157157
printf(i9);
158158
printWrapper(i9);
159159

160160
// BAD: i91 value comes from argv
161-
162-
char *i91;
163-
memcpy(0 ? 0 : (char *)((int) i91 * 2), argv[1], 1);
161+
char i91buf[64];
162+
char *i91 = &i91buf[0];
163+
memcpy(0 ? 0 : i91, argv[1] + 1, 1);
164164
printf(i91);
165165
printWrapper(i91);
166166

cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/argv/argvLocal.expected

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,11 @@
1818
| argvLocal.c:136:15:136:18 | -- ... | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:115:13:115:16 | argv | argv |
1919
| argvLocal.c:144:9:144:10 | i7 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | argvLocal.c:100:7:100:10 | argv | argv |
2020
| argvLocal.c:145:15:145:16 | i7 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:100:7:100:10 | argv | argv |
21+
| argvLocal.c:150:9:150:10 | i8 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | argvLocal.c:149:11:149:14 | argv | argv |
22+
| argvLocal.c:151:15:151:16 | i8 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:149:11:149:14 | argv | argv |
23+
| argvLocal.c:157:9:157:10 | i9 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | argvLocal.c:156:23:156:26 | argv | argv |
24+
| argvLocal.c:158:15:158:16 | i9 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:156:23:156:26 | argv | argv |
25+
| argvLocal.c:164:9:164:11 | i91 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | argvLocal.c:163:22:163:25 | argv | argv |
26+
| argvLocal.c:165:15:165:17 | i91 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:163:22:163:25 | argv | argv |
2127
| argvLocal.c:169:18:169:20 | i10 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | argvLocal.c:168:18:168:21 | argv | argv |
2228
| argvLocal.c:170:24:170:26 | i10 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(correct), which calls printf(format) | argvLocal.c:168:18:168:21 | argv | argv |

0 commit comments

Comments
 (0)