Anders Fugmann
342b2df93f
C++: zero or one byte sized arrays in unions are considered as having the length of the union its a member of
2021-09-13 11:25:04 +02:00
Anders Fugmann
3172d5727a
C++: Relax constraints on Buffer::memberMayBeVarSize
2021-09-13 11:15:33 +02:00
Anders Fugmann
4ab9b81a9a
C++: Add tests exposing some FP's for OverflowStatic query
2021-09-13 11:09:56 +02:00
Geoffrey White
e696eaaa2f
C++: Fix false positives involving STDIN_FILENO.
2021-09-13 09:50:19 +01:00
Geoffrey White
3ba9e80635
C++: Support various functions / variants.
2021-09-13 09:50:03 +01:00
Geoffrey White
1707d67adb
C++: Support 'send' as well.
2021-09-13 09:49:40 +01:00
Geoffrey White
29ad3bf7f8
C++: Test dataflow and other slightly more complex cases.
2021-09-13 09:49:25 +01:00
Anders Peter Fugmann
1bbadb57a2
Merge pull request #6568 from andersfugmann/andersfugmann/improve_upper_bound
...
C++: Improve predicate upperBound in SimpleRangeAnalysis
2021-09-10 09:49:48 +02:00
Anders Fugmann
270dbd2bf7
C++: Revert peer review suggestion.
...
The suggested change has a severe impact on row counts, as cpp does not cache
the results for `bbDominates`. Since the `getGuardedUpperBound` predicate the
cost of runtime complexity is considered higher than the benefit of this change.
2021-09-09 13:26:42 +02:00
Anders Fugmann
6c44b0e6e7
C++: Add test case where a guarded block has two predecessors which are both in the dominance domain of the guard
2021-09-09 13:18:49 +02:00
Anders Schack-Mulligen
f30dad7705
Dataflow: Update test expected outputs.
2021-09-07 13:02:20 +02:00
Mathias Vorreiter Pedersen
5cecea42e4
Merge pull request #6603 from geoffw0/impropnulltests
...
C++: Add test cases for cpp/improper-null-termination.
2021-09-07 09:55:36 +01:00
Mathias Vorreiter Pedersen
b7206c1218
Merge pull request #6581 from geoffw0/uncontrolledarith2
...
CPP: Improvements for cpp/uncontrolled-arithmetic
2021-09-07 09:48:59 +01:00
Anders Fugmann
ebdda885f9
C++: Update test annotation for OverflowStatic
2021-09-07 10:38:16 +02:00
Geoffrey White
cd5a5347fc
C++: Add basic test.
2021-09-06 18:11:34 +01:00
Anders Fugmann
9af4d560dd
Merge branch 'main' into andersfugmann/improve_upper_bound
2021-09-06 14:26:58 +02:00
Anders Fugmann
ddbaf585ec
Merge branch 'main' into andersfugmann/improve_upper_bound
2021-09-06 10:32:44 +02:00
Dave Bartolomeo
d1e6813812
Make side effects for constructor calls use same mechanism as other arguments
...
This commit is yet another step to fixing the order of IR side effect instructions. Instead of having a special `StructorCallSideEffects` class for the call itself, I've introduced a `TranslatedStructorCallQualifierSideEffect` class that shares a bunch of common code with `TranslatedArgumentExprSideEffect`, but handles the case where there's no `Expr` for the qualifier of the constructor call. Because this class uses the same ordering as regular argument side effects, these side effects now appear in the correct order, reads before writes.
The test expectations have changed to reflect the new, correct order.
2021-09-03 16:58:32 -04:00
Andrew Eisenberg
6a47fcaf1f
Packaging: Normalize all qlpack.yml files for all languages
...
This commit ensures consistency among all of our qlpacks. Here are the
changes:
1. Ensure only modern references are used (codeql-{lang} is converted to
codeql/{lang}-all or codeql/{lang}-queries where appropriate).
2. Use consistent version numbers. All languages are at 0.0.2 except
javascript, which is 0.0.3.
3. Convert all `libraryPathDependencies` to `dependencies` with version
constraints
4. Dependencies from query packs to other packs are always `"*"` since
these dependencies are always from source and we should get the
latest.
5. Dependencies from codeql/{lang}-lib to codeql/{lang}-upgrades must
be strict since there is a tight connection between the libary
and its relevant upgrades.
2021-09-03 11:53:28 -07:00
Geoffrey White
4e60fd5fc7
C++:Add the ImproperNullTerminationTainted.ql query to the test.
2021-09-03 15:53:24 +01:00
Geoffrey White
ccf1a44a2b
C++: Extend tests for cpp/improper-null-termination.
2021-09-03 15:48:36 +01:00
Geoffrey White
f2047ee4d0
C++: Actually fix expected files after layout changes.
2021-09-03 09:13:41 +01:00
Anders Fugmann
d962fc4ce1
C++: Improve predicate upperBound in SimpleRangeAnalysis
...
If an expression has an immediate guardPhi node, this is used as a strict upper bound
2021-09-02 21:46:18 +02:00
Anders Fugmann
c110508b4e
C++: Add tests to expose potential improvements available to SimpleRangeAnalysis
2021-09-02 21:20:33 +02:00
Geoffrey White
a0b712d44b
C++: Add notice about the SAMATE Juliet tests.
2021-09-02 17:34:48 +01:00
Geoffrey White
d73604d1c5
C++: Fix a few glitches and accept line number changes in expected files.
2021-09-02 17:34:47 +01:00
Geoffrey White
f755659f5d
C++: More directory structure consistency / cleanup.
2021-09-02 17:34:47 +01:00
Geoffrey White
d1ab2d2e8c
C++: Remove some irrelevant macro logic and main functions.
2021-09-02 17:34:46 +01:00
Geoffrey White
fdb4a2acdb
C++: Clean up header comments.
2021-09-02 17:34:46 +01:00
Geoffrey White
75d367a6c5
C++: Add ad-hoc SAMATE Juliet test cases (that were previously internal). Directory structures cleaned up in a few places.
2021-09-02 17:34:45 +01:00
ihsinme
1e88470ad8
Add files via upload
2021-09-02 10:22:49 +03:00
Geoffrey White
49807c080b
C++: Understand *=.
2021-08-31 18:25:52 +01:00
Geoffrey White
436b18a11f
C++: Add test cases.
2021-08-31 18:23:15 +01:00
Geoffrey White
6bbed9d624
C++: Test layout.
2021-08-31 18:09:21 +01:00
Alexandre Boulgakov
10bc2568b7
C++: Add support for default member initializers.
2021-08-26 12:32:30 +01:00
Anders Fugmann
c04ba7b724
C++: Revert benign change of return type from 'unsigned int' to 'int' in testcase, and add 'GOOD' annotation to the testcase
2021-08-23 14:58:43 +02:00
Anders Fugmann
9324d8f348
C++: Fix case where implicit downcasts were not detected when using reference
2021-08-23 14:44:49 +02:00
Anders Fugmann
8939a9b2c1
C++: Add tests for implicit downcast involving references
2021-08-23 14:42:36 +02:00
Alexandre Boulgakov
89e52bf500
C++: Move element tests to internal repo.
2021-08-19 09:48:13 +01:00
Alexandre Boulgakov
1eb804a072
Merge pull request #6496 from sashabu/sashabu/c_linkage
...
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 17:46:44 +01:00
Alexandre Boulgakov
3ba308a69f
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 15:35:30 +01:00
Anders Fugmann
0b98b39f91
C++: Test dataflow tests for strdupa and strndupa functions
2021-08-18 15:22:14 +02:00
Anders Fugmann
44752d5ee0
C++: Model strdupa and strndupa string functions returning memory allocated with alloca
2021-08-18 13:12:08 +02:00
Andrew Eisenberg
03d6b15401
Merge branch 'main' into aeisenberg/pack/cpp
2021-08-17 15:28:47 -07:00
Andrew Eisenberg
88ceb42356
Packaging: Migrate cpp experimental/semmle folder to lib
...
Also, fix up some library path dependencies.
2021-08-17 14:41:41 -07:00
Andrew Eisenberg
d8e4e25c1e
Packaging: Fix query pack references
...
We can't have recursive references to query packs.
2021-08-17 13:03:40 -07:00
Andrew Eisenberg
2c5dd2dfa3
Packaging: Refactor the cpp libraries
...
This PR separates the core cpp packs into `codeql/cpp-queries` and
`codeql/cpp-all`.
There are very few lines of code changed. Almost all changes are moving
files around.
2021-08-17 11:22:36 -07:00
Anders Fugmann
666d5917fa
C++: Avoid inclusion of standard headers
2021-08-17 15:56:28 +02:00
Anders Fugmann
469f8a638b
C++: Add more tests for buffer overruns
2021-08-17 15:21:33 +02:00
Anders Fugmann
35b7808866
C++: Fix wrong comment on what is tested
2021-08-17 15:21:03 +02:00