Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: chrchr-github/cppcheck
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: cppcheck-opensource/cppcheck
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 13 commits
  • 39 files changed
  • 8 contributors

Commits on Aug 27, 2026

  1. Configuration menu
    Copy the full SHA
    8a92e99 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c6109ba View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2026

  1. Fix #14917 fuzzing crash (null-pointer-use) in ReverseTraversal::trav…

    …erse() (cppcheck-opensource#8800)
    
    Co-authored-by: chrchr-github <noreply@github.com>
    chrchr-github and web-flow authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    3a3184d View commit details
    Browse the repository at this point in the history
  2. Fix #14974: [regression] inline supression does not work with build d…

    …ir anymore (cppcheck-opensource#8801)
    
    Also fixes #14993.
    
    The hash in the AnalyzerInformation file has been changed from an
    attribute to a node, this is because the hash is not known at the time
    the root node is written. An alternative would be to delay writing
    anything at all until checking is complete.
    
    An `includes` node has been added to the AnalyzerInformation file to
    keep track of which files were included during the last check, this
    allows calculating the correct hash and processing inline suppressions
    before any checking is done.
    glankk authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    6d2b6f4 View commit details
    Browse the repository at this point in the history
  3. Partial fix for #14982 internalAstError for function with std::enable…

    …_if (cppcheck-opensource#8810)
    
    Co-authored-by: chrchr-github <noreply@github.com>
    chrchr-github and web-flow authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    0630d8a View commit details
    Browse the repository at this point in the history
  4. Fix #11604 Debug: DacaWrongData (cppcheck-opensource#8752)

    Co-authored-by: chrchr-github <noreply@github.com>
    chrchr-github and web-flow authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    0ff234b View commit details
    Browse the repository at this point in the history
  5. Fix #14972 [regression] Syntax Error: AST broken, '!' doesn't have an…

    … operand. (cppcheck-opensource#8791)
    
    Co-authored-by: chrchr-github <noreply@github.com>
    chrchr-github and web-flow authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    9a500c8 View commit details
    Browse the repository at this point in the history
  6. fix: improve misra.py for missing prototype false positives (cppcheck…

    …-opensource#8805)
    
    The MISRA addon reported false positives for Rules 8.4 and 17.3 in cases
    involving valid prototypes and function-pointer calls. We identified
    these issues by comparing its results with reports previously generated
    by our company’s internal tool on the same software.
    
    The fix improves prototype and function-call detection in
    addons/misra.py and adds a regression test covering both cases.
    
    The bug report would have looked like below, but I don't have access to
    "issues" panel.
    
    # MISRA addon reports false positives for Rules 8.4 and 17.3
    
    ## Description
    
    The MISRA addon reports false positives for Rules 8.4 and 17.3 when
    valid function prototypes or function-pointer calls are present. The
    issue was identified by comparing cppcheck results with reports
    generated by our company's internal tool on the same software.
    
    ## Reproduction
    
    ```c
    int regression_function(int value);
    
    int regression_function(int value)
    {
        return value;
    }
    
    int main(void)
    {
        int local_prototype(int value);
        int (*callback)(int) = regression_function;
    
        return callback(0);
    }
    ```
    
    Run the MISRA addon on this file with Rules 8.4 and 17.3 enabled:
    
    ```bash
    cppcheck --enable=all --addon=addons/misra.py \
      addons/test/misra/misra-regression-prototypes.c
    ```
    
    ## Expected result
    
    No Rule 8.4 or Rule 17.3 violation is reported.
    
    ## Actual result
    
    The addon reports violations for valid prototype and function-pointer
    constructs.
    jfdeverge authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    1fda43b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e6f7b92 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2026

  1. Configuration menu
    Copy the full SHA
    d84ae30 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2026

  1. Configuration menu
    Copy the full SHA
    c646f39 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2026

  1. Add test for #14981: macroName missing for __LINE__ expanded in f…

    …unction-like macro (cppcheck-opensource#8811)
    
    Fixed after simplecpp bump
    ludviggunne authored Aug 31, 2026
    Configuration menu
    Copy the full SHA
    8357500 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2026

  1. Fix #14995 (Suppression file name cache) (cppcheck-opensource#8684)

    Implement a file name cache per suppression to avoid calling
    PathMatch::match again and again for the same suppression and file name
    combination.
    
    Local benchmark running cppcheck with misra c-2012 has been performed.
    
    **Before** 
    10min 34sec
    **After**
    1min 36sec
    
    In this test it was a few header files producing the majority of the
    error messages, which is why the cache speeds it up by a lot.
    MartinBP authored Sep 2, 2026
    Configuration menu
    Copy the full SHA
    637d5be View commit details
    Browse the repository at this point in the history
Loading