Commit Graph

140 Commits

Author SHA1 Message Date
ihsinme
05f866e912 Delete CompilerRemovalOfCodeToClearBuffers.expected
sorry i was in a hurry
2021-01-11 23:51:18 +03:00
ihsinme
ed6d8e3d18 Add files via upload 2021-01-11 23:40:38 +03:00
Mathias Vorreiter Pedersen
13a67c906e Merge pull request #4810 from geoffw0/multtoalloc
C++: Query for multiplications used in allocations.
2021-01-07 13:48:58 +01:00
ihsinme
f378c14659 Update MemoryLeakOnFailedCallToRealloc.expected 2021-01-07 15:43:58 +03:00
ihsinme
592cd284e8 Update test.c 2021-01-07 15:41:31 +03:00
ihsinme
0c7381a3b0 Add files via upload 2020-12-26 20:45:11 +03:00
Geoffrey White
1e3535754b C++: Violation message. 2020-12-16 16:13:02 +00:00
Geoffrey White
2210344f4d C++: Add a test. 2020-12-16 15:44:53 +00:00
Geoffrey White
209191bb24 C++: Add another good example. 2020-12-09 16:55:07 +00:00
Geoffrey White
80db155d54 C++: Fix example and test. 2020-12-09 16:46:48 +00:00
Gulshan Singh
f026d3a1e6 C++: Improve bitwise and range analysis 2020-10-01 23:30:51 -07:00
Gulshan Singh
78625b764d C++: Add test for bitwise and ranges 2020-10-01 23:30:48 -07:00
Geoffrey White
282d3e8f7e Merge pull request #4322 from jbj/range-analysis-custom-defs
C++: Support custom defs in SimpleRangeAnalysis
2020-09-30 15:43:32 +01:00
Jonas Jensen
b7d0939f4a C++: ExtendedRangeAnalysis stub implementation
Just to demonstrate how things fit together, I've created
`SubtractSelf.qll` that adds a (hopefully sound) version of the test
extension that was already used in `extensibility.ql`.
2020-09-23 15:50:07 +02:00
Jonas Jensen
4faeede5cd C++: Remove unnecessary comment on import 2020-09-22 16:55:25 +02:00
Jonas Jensen
9fd8b0431a C++: Add a SimpleRangeAnalysisDefinition test def 2020-09-22 15:54:54 +02:00
Jonas Jensen
826632d6a9 C++: Add a test of def overrides
The def used in this test is not overridden yet.
2020-09-22 15:54:54 +02:00
lcartey@github.com
eaea860d3e C++: Test for overriding existing simple range analysis ranges. 2020-09-15 15:34:48 +01:00
Jonas Jensen
f7273b8665 C++: Add custom modeling to extensibility.ql 2020-08-14 12:27:30 +02:00
Jonas Jensen
ee3312503e C++: Add test for extensible range analysis
This commit demonstrates that the range is too wide before custom
modeling has been added to the test.
2020-08-14 12:27:30 +02:00
Robert Marsh
e80cc63219 Merge pull request #3861 from dilanbhalla/privatedata
C++: Private Data File/Buffer Writes
2020-08-11 15:49:31 -04:00
Jonas Jensen
0476b97f63 Merge pull request #3789 from dilanbhalla/cpp
C++ Memory Unsafe Functions
2020-08-11 10:09:37 +02:00
dilanbhalla
dcfbb86674 pr fixes 2020-08-10 15:14:12 -07:00
dilanbhalla
48e540fa9a minor fixes 2020-07-13 01:25:42 -07:00
dilanbhalla
db6d5c329f file/buffer write dataflow queries complete 2020-07-13 00:57:05 -07:00
dilanbhalla
3b9daa2db2 added pr fixes 2020-07-07 11:05:39 -07:00
dilanbhalla
25bfc3a168 fixed references and used autoformat 2020-07-01 09:23:36 -07:00
dilanbhalla
e1130a2bfa moved privatedata to experimental 2020-06-30 17:58:24 -07:00
dilanbhalla
3fdd11a9b5 scanf fixes, still need to update qhelp file 2020-06-30 17:22:29 -07:00
Robert Marsh
fb6e578618 C++: move IR range analysis to experimental 2020-06-24 12:50:14 -07:00
Cornelius Riemenschneider
3596ff7c51 Address review. 2020-05-10 19:34:16 +02:00
Cornelius Riemenschneider
e397e5d325 Add new testcase to arraylengthanalysis library. 2020-05-06 16:36:48 +02:00
Cornelius Riemenschneider
1c9fa4eb1d This library proves that a subset of pointer dereferences in a program are safe, i.e. in-bounds.
It does so by first defining what a pointer dereference is (on the IR
`Instruction` level), and then using the array length analysis and the range
analysis together to prove that some of these pointer dereferences are safe.
2020-05-06 16:36:48 +02:00
Cornelius Riemenschneider
bab893d2d1 Address review. 2020-05-02 15:27:56 +02:00
Cornelius Riemenschneider
b838426421 Move ArrayLengthAnalysis library to the correct location. 2020-04-29 21:07:44 +02:00
Cornelius Riemenschneider
f83c3452a1 Switch allocation size expression analysis to unconverted result expression. 2020-04-29 15:13:00 +02:00
Cornelius Riemenschneider
64cf0906b5 Address review.
Most important fix is that VNLength is now restricted to the subset
of value numbers that are Bounds in the RangeAnalysis.
2020-04-29 15:10:30 +02:00
Cornelius Riemenschneider
9d2533c8ab Fix bug in handling of subtractions. 2020-04-29 13:07:15 +02:00
Cornelius Riemenschneider
e6d193294a Experimental library that tracks the length of memory.
For each pointer, we start tracking (starting from the allocation or an array declaration)
1) how long is the chunk of memory allocated
2) where the current pointer is in this chunk of memory.
This information might not always exist, but when it does, it is reliable.
Currently only works intraprocedurally.
2020-04-29 12:55:54 +02:00
yo-h
43bcd5b26c Add guidelines for experimental CodeQL queries and libraries 2020-02-24 15:08:31 -05:00