Commit Graph

44 Commits

Author SHA1 Message Date
Simon Friis Vindum
8eed18a8ff C++: Fix typo
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2026-02-20 16:24:19 +01:00
Simon Friis Vindum
fdbd49a843 C++: Improve clarity in comment
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2026-02-20 13:38:24 +01:00
Simon Friis Vindum
d0681c6ffb C++: Divide nr of bounds between branches for phi nodes 2026-02-16 14:36:09 +01:00
Simon Friis Vindum
032c7ea034 C++: Include the actual number of lower/upper bounds for added context in expected files 2026-02-16 14:36:08 +01:00
Mathias Vorreiter Pedersen
84be8517bb Update cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-16 09:30:56 +00:00
Mathias Vorreiter Pedersen
2dc91a56eb C++: Lower the treshold for max number of bounds to 2^29. 2026-02-12 09:44:20 +00:00
Simon Friis Vindum
3a135888c7 C++: Improve bounds from inequalities on integers 2026-01-09 10:26:36 +01:00
Simon Friis Vindum
f5ddb1d51d C++: Remove safeFloor in simple range analysis 2026-01-07 12:49:09 +01:00
Simon Friis Vindum
792ac7a772 C++: Fix typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-14 12:59:41 +01:00
Simon Friis Vindum
5da73f3232 C++: Make sure that nrOfBoundsNEPhi is functional 2025-11-14 12:26:23 +01:00
Simon Friis Vindum
69e70d7cbc Reapply "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
This reverts commit e7c029ae7d.
2025-11-14 12:26:21 +01:00
Enrico Steffinlongo
e7c029ae7d Revert "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
This reverts commit a0a6f288b5, reversing
changes made to 32f21d6d49.
2025-11-07 16:49:47 +00:00
Simon Friis Vindum
d1ea1af945 C++: Make small trivial tweaks 2025-10-24 16:16:57 +02:00
Simon Friis Vindum
5709964fbf C++: Simplify boundFromGuard
The last disjunct in `boundFromGuard` is moved into `linearBoundFromGuard`. This avoids repeating the calculation for `boundValue`.

`getBounds` and `getExprTypeBounds` are turned into predicates with result. Their middle argument was the "output" which was confusing.
2025-10-24 16:12:05 +02:00
Simon Friis Vindum
383e6a44aa C++: Use or instead of if
The proposition in the true branch implied the condition, so `or` is more appropriate. Also eliminated an existentially quantified variable.
2025-10-24 16:08:35 +02:00
Simon Friis Vindum
0badcfd663 C++: Address review comments 2025-10-21 09:47:58 +02:00
Simon Friis Vindum
979b05cc1a C++: Apply suggested fixes from review 2025-10-17 09:50:36 +02:00
Simon Friis Vindum
9502d83f2c C++: Add debug predicates 2025-10-16 15:05:48 +02:00
Simon Friis Vindum
c1f0f3da96 C++: Handle guard phi nodes differently 2025-10-16 15:05:46 +02:00
Simon Friis Vindum
8896a7210b C++: Add number of bounds test to simple range analysis 2025-10-16 15:05:44 +02:00
Simon Friis Vindum
7eacd87343 C++: Apply widening based on number of bounds measure 2025-10-16 15:05:42 +02:00
Simon Friis Vindum
8aaf9f696a C++: Factor out widening of bounds 2025-10-15 11:11:45 +02:00
Simon Friis Vindum
dcdc43933b C++: Minor refactor and documentation tweak to simple range analysis 2025-01-13 12:15:09 +01:00
Simon Friis Vindum
0c9ee4d029 C++: Only propagate smallest/largest bound in conditional expressions 2025-01-13 12:11:45 +01:00
Mathias Vorreiter Pedersen
f7392d6498 C++: Range analysis of 'getc'. 2024-10-08 10:08:13 +01:00
Tony Torralba
3fcc99e5cb C++: Remove omittable exists variables 2023-01-10 13:36:01 +01:00
Erik Krogh Kristensen
85a652f3d1 remove a bunch of repeated words 2022-07-14 12:42:48 +02:00
Erik Krogh Kristensen
ff73dbc35c delete redundant imports 2022-04-22 12:55:28 +02:00
Erik Krogh Kristensen
a86f0afb3c delete all deprecations that are over 14 months old 2022-03-09 18:28:07 +01:00
Erik Krogh Kristensen
fe891746bf C++: fix implicit this 2021-10-15 14:59:48 +01:00
Mathias Vorreiter Pedersen
8dcf7926de Merge pull request #6760 from andersfugmann/relax_memberMayBeVarSize
Increase precision to high for cpp/static-buffer-overflow
2021-09-29 10:09:11 +02:00
Anders Fugmann
ba98c0c1cb Merge remote-tracking branch 'upstream/main' into relax_memberMayBeVarSize 2021-09-28 11:15:11 +02:00
Anders Peter Fugmann
a358ea8667 C++: Apply documentation change suggestion
Co-authored-by: Jonas Jensen <jbj@github.com>
2021-09-28 10:38:02 +02:00
Anders Peter Fugmann
c7ea7ca5cd C++: Apply documentation change suggestion
Co-authored-by: Jonas Jensen <jbj@github.com>
2021-09-28 09:40:25 +02:00
Anders Fugmann
79549c2285 Merge remote-tracking branch 'upstream/main' into refactor_use_of_isGuardPhi 2021-09-28 09:38:16 +02:00
Anders Peter Fugmann
aebde189f8 C++: Apply peer review suggestion
Co-authored-by: Jonas Jensen <jbj@github.com>
2021-09-24 15:09:23 +02:00
Anders Fugmann
3437cf2909 C++: only use upperbound if there are no overflows in the guard 2021-09-24 11:46:58 +02:00
Anders Fugmann
032ac50034 C++: Do not warn on static buffer overflow using loop counters, if the loop counter has been widened 2021-09-24 08:31:36 +02:00
Anders Fugmann
2c93bce9ad C++: Refactor code to use predicate isGuardPhi/4 2021-09-10 10:53: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
f91bd91d02 C++: Apply suggested change from code review 2021-09-08 12:38:53 +02:00
Anders Fugmann
e93dc0b4c4 C++: Fix comment in getGuardedUpperBound 2021-09-08 11:06:58 +02:00
Anders Fugmann
ddbaf585ec Merge branch 'main' into andersfugmann/improve_upper_bound 2021-09-06 10:32:44 +02: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