Skip to content

Xcode project update#2

Merged
2 commits merged intodanmar:masterfrom
tigbuh:master
Oct 22, 2010
Merged

Xcode project update#2
2 commits merged intodanmar:masterfrom
tigbuh:master

Conversation

@tigbuh
Copy link
Contributor

@tigbuh tigbuh commented Oct 21, 2010

Hi,

created an update of the Xcode project, some files were removed, some added.
Additionally added an entry to .gitignore to ignore some (new) user specific Xcode
files.

Best regards,
ms

danmar added a commit that referenced this pull request Mar 9, 2014
Ticket #5373: delete can match %type% in C (take #2)
nablaa added a commit to nablaa/cppcheck that referenced this pull request Oct 15, 2015
The following code causes cppcheck execution to hang:

    void f1()
    {
        if (1)
        new X * [0]();
        else
        new Y * [0]();
    }

    void f2()
    {
        for (int i = 0;; i++) ;
    }

When analyzing the hang with GDB, the following can be seen:

    (gdb) bt
    #0  0x00000000008eff0b in Token::astTop (this=0xc3c060) at lib/token.h:881
    #1  0x00000000008ef7ec in createAstAtToken (tok=0xc3b930, cpp=0x1) at lib/tokenlist.cpp:949
    danmar#2  0x00000000008efd3c in TokenList::createAst (this=0x7fffffffbf00) at lib/tokenlist.cpp:1004
    danmar#3  0x000000000089c234 in Tokenizer::tokenize (this=0x7fffffffbf00, code=..., FileName=0xc36038 "temp.cc", configuration="", noSymbolDB_AST=0x0) at lib/tokenize.cpp:1728
    danmar#4  0x00000000007c8b62 in CppCheck::checkFile (this=0x7fffffffcf50, code="void f1()\n{\nif (1)\nnew X * [0]();\nelse\nnew Y * [0]();\n}\n\nvoid f2()\n{\nfor (int i = 0;; i++) ;\n}\n", FileName=0xc36038 "temp.cc", checksums=std::__debug::set with 0 elements, internalErrorFound=@0x7fffffffc46b: 0x0) at lib/cppcheck.cpp:337
    danmar#5  0x00000000007c78da in CppCheck::processFile (this=0x7fffffffcf50, filename="temp.cc", fileStream=...) at lib/cppcheck.cpp:239
    danmar#6  0x00000000007c6348 in CppCheck::check (this=0x7fffffffcf50, path="temp.cc") at lib/cppcheck.cpp:70
    danmar#7  0x00000000006a51ef in CppCheckExecutor::check_internal (this=0x7fffffffd9f0, cppcheck=..., argv=0x7fffffffdba8) at cli/cppcheckexecutor.cpp:810
    danmar#8  0x00000000006a3d7b in CppCheckExecutor::check (this=0x7fffffffd9f0, argc=0x2, argv=0x7fffffffdba8) at cli/cppcheckexecutor.cpp:183
    danmar#9  0x00000000006ac591 in main (argc=0x2, argv=0x7fffffffdba8) at cli/main.cpp:136

The code in question is (lib/token.h:881):

    const Token *astTop() const {
        const Token *ret = this;
        while (ret->_astParent)
            ret = ret->_astParent;
        return ret;
    }

It looks like there is some kind of loop in AST:

    (gdb) p ret
    (gdb) p ret->_astParent
    $2 = (Token *) 0xc3ba10
    (gdb) p ret->_astParent->_astParent
    $3 = (Token *) 0xc3be70
    (gdb) p ret->_astParent->_astParent->_astParent
    $4 = (Token *) 0xc3ba10

Using Git bisect revealed that the following commit introduced the
problem: ca1f19b

This commit adds a testcase that reveals this problem. I.e. when
running "make test", the execution hangs.
nablaa added a commit to nablaa/cppcheck that referenced this pull request Oct 15, 2015
The following code causes cppcheck execution to hang:

    void f1()
    {
        if (1)
        new X * [0]();
        else
        new Y * [0]();
    }

    void f2()
    {
        for (int i = 0;; i++) ;
    }

This commit adds a testcase that reveals this problem. I.e. when
running "make test", the execution hangs.

When analyzing the hang with GDB, the following can be seen:

    (gdb) bt
    #0  0x00000000008eff0b in Token::astTop (this=0xc3c060) at lib/token.h:881
    #1  0x00000000008ef7ec in createAstAtToken (tok=0xc3b930, cpp=0x1) at lib/tokenlist.cpp:949
    danmar#2  0x00000000008efd3c in TokenList::createAst (this=0x7fffffffbf00) at lib/tokenlist.cpp:1004
    danmar#3  0x000000000089c234 in Tokenizer::tokenize (this=0x7fffffffbf00, code=..., FileName=0xc36038 "temp.cc", configuration="", noSymbolDB_AST=0x0) at lib/tokenize.cpp:1728
    danmar#4  0x00000000007c8b62 in CppCheck::checkFile (this=0x7fffffffcf50, code="void f1()\n{\nif (1)\nnew X * [0]();\nelse\nnew Y * [0]();\n}\n\nvoid f2()\n{\nfor (int i = 0;; i++) ;\n}\n", FileName=0xc36038 "temp.cc", checksums=std::__debug::set with 0 elements, internalErrorFound=@0x7fffffffc46b: 0x0) at lib/cppcheck.cpp:337
    danmar#5  0x00000000007c78da in CppCheck::processFile (this=0x7fffffffcf50, filename="temp.cc", fileStream=...) at lib/cppcheck.cpp:239
    danmar#6  0x00000000007c6348 in CppCheck::check (this=0x7fffffffcf50, path="temp.cc") at lib/cppcheck.cpp:70
    danmar#7  0x00000000006a51ef in CppCheckExecutor::check_internal (this=0x7fffffffd9f0, cppcheck=..., argv=0x7fffffffdba8) at cli/cppcheckexecutor.cpp:810
    danmar#8  0x00000000006a3d7b in CppCheckExecutor::check (this=0x7fffffffd9f0, argc=0x2, argv=0x7fffffffdba8) at cli/cppcheckexecutor.cpp:183
    danmar#9  0x00000000006ac591 in main (argc=0x2, argv=0x7fffffffdba8) at cli/main.cpp:136

The code in question is (lib/token.h:881):

    const Token *astTop() const {
        const Token *ret = this;
        while (ret->_astParent)
            ret = ret->_astParent;
        return ret;
    }

It looks like there is some kind of loop in AST:

    (gdb) p ret
    (gdb) p ret->_astParent
    $2 = (Token *) 0xc3ba10
    (gdb) p ret->_astParent->_astParent
    $3 = (Token *) 0xc3be70
    (gdb) p ret->_astParent->_astParent->_astParent
    $4 = (Token *) 0xc3ba10

Using Git bisect revealed that the following commit introduced the
problem: ca1f19b
amai2012 added a commit that referenced this pull request Feb 15, 2019
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request Aug 31, 2019
http://cppcheck.osuosl.org:8000/ycmd
```
2019-08-30 23:21
ftp://ftp.se.debian.org/debian/pool/main/y/ycmd/ycmd_0+20181101+git600f54d.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=qt --library=python --library=googletest --library=boost -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.31
cppcheck: head 1.88
count: Crash! 83
elapsed-time: -11.0 61.2
head results:
Checking temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
2376	            if (!tok->variable())
 #0  CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
 #1  0x00005555556901ac in CheckUninitVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffbcb0, settings=0x7fffffffcd10, errorLogger=<optimized out>) at lib/checkuninitvar.h:68
 danmar#2  0x00005555556a2210 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcaf0, tokenizer=...) at build/cppcheck.cpp:730
 danmar#3  0x00005555556a6ee2 in CppCheck::checkFile (this=this@entry=0x7fffffffcaf0, filename="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc", cfgname="", fileStream=...) at build/cppcheck.cpp:540
 danmar#4  0x00005555556aad4c in CppCheck::check (this=this@entry=0x7fffffffcaf0, path="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc") at build/cppcheck.cpp:195
 danmar#5  0x00005555557ef167 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd880, cppcheck=..., argv=argv@entry=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:884
 danmar#6  0x00005555557efa9a in CppCheckExecutor::check (this=0x7fffffffd880, argc=17, argv=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:198
 danmar#7  0x00005555555b1d1b in main (argc=17, argv=0x7fffffffdc08) at cli/main.cpp:95
```
danmar pushed a commit that referenced this pull request Sep 1, 2019
http://cppcheck.osuosl.org:8000/ycmd
```
2019-08-30 23:21
ftp://ftp.se.debian.org/debian/pool/main/y/ycmd/ycmd_0+20181101+git600f54d.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=qt --library=python --library=googletest --library=boost -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.31
cppcheck: head 1.88
count: Crash! 83
elapsed-time: -11.0 61.2
head results:
Checking temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
2376	            if (!tok->variable())
 #0  CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
 #1  0x00005555556901ac in CheckUninitVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffbcb0, settings=0x7fffffffcd10, errorLogger=<optimized out>) at lib/checkuninitvar.h:68
 #2  0x00005555556a2210 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcaf0, tokenizer=...) at build/cppcheck.cpp:730
 #3  0x00005555556a6ee2 in CppCheck::checkFile (this=this@entry=0x7fffffffcaf0, filename="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc", cfgname="", fileStream=...) at build/cppcheck.cpp:540
 #4  0x00005555556aad4c in CppCheck::check (this=this@entry=0x7fffffffcaf0, path="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc") at build/cppcheck.cpp:195
 #5  0x00005555557ef167 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd880, cppcheck=..., argv=argv@entry=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:884
 #6  0x00005555557efa9a in CppCheckExecutor::check (this=0x7fffffffd880, argc=17, argv=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:198
 #7  0x00005555555b1d1b in main (argc=17, argv=0x7fffffffdc08) at cli/main.cpp:95
```
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request Sep 20, 2019
Crashes found by daca@home
http://cppcheck1.osuosl.org:8000/crash.html

For instance
```
2019-09-20 16:27
ftp://ftp.se.debian.org/debian/pool/main/n/nedit/nedit_5.7.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=motif -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.19.0-6-amd64-x86_64-with-debian-10.1
python: 2.7.16
client-version: 1.1.37
cppcheck: head 1.89
head-info: 38dec6a (2019-09-20 16:46:57 +0200)
count: Crash! 934
elapsed-time: -11.0 9.0
head results:
Checking temp/nedit-5.7/source/shell.c: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
340	        return mImpl->mValueType;
 #0  0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
 #1  0x0000555555651764 in CheckLeakAutoVar::check (this=0x7fffffffb8c0) at build/checkleakautovar.cpp:714
 danmar#2  0x0000555555652b37 in CheckLeakAutoVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffc3a0, settings=<optimized out>, errorLogger=<optimized out>) at lib/checkleakautovar.h:108
 danmar#3  0x00005555556bc833 in CppCheck::checkNormalTokens (this=0x7fffffffce50, tokenizer=...) at build/cppcheck.cpp:732
 danmar#4  0x00005555556bf694 in CppCheck::checkFile (this=0x7fffffffce50, filename=..., cfgname=..., fileStream=...) at build/cppcheck.cpp:542
 danmar#5  0x00005555556c1cb8 in CppCheck::check (this=this@entry=0x7fffffffce50, path="temp/nedit-5.7/source/shell.c") at /usr/include/c++/8/bits/basic_string.h:936
 danmar#6  0x00005555557fd63f in CppCheckExecutor::check_internal (this=0x7fffffffdbd0, cppcheck=..., argv=<optimized out>) at cli/cppcheckexecutor.cpp:884
 danmar#7  0x00005555557fda92 in CppCheckExecutor::check (this=this@entry=0x7fffffffdbd0, argc=argc@entry=14, argv=argv@entry=0x7fffffffdf58) at cli/cppcheckexecutor.cpp:198
 danmar#8  0x00005555555e6358 in main (argc=14, argv=0x7fffffffdf58) at cli/main.cpp:95

DONE
```
versat pushed a commit that referenced this pull request Sep 20, 2019
Crashes found by daca@home
http://cppcheck1.osuosl.org:8000/crash.html

For instance
```
2019-09-20 16:27
ftp://ftp.se.debian.org/debian/pool/main/n/nedit/nedit_5.7.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=motif -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.19.0-6-amd64-x86_64-with-debian-10.1
python: 2.7.16
client-version: 1.1.37
cppcheck: head 1.89
head-info: 38dec6a (2019-09-20 16:46:57 +0200)
count: Crash! 934
elapsed-time: -11.0 9.0
head results:
Checking temp/nedit-5.7/source/shell.c: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
340	        return mImpl->mValueType;
 #0  0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
 #1  0x0000555555651764 in CheckLeakAutoVar::check (this=0x7fffffffb8c0) at build/checkleakautovar.cpp:714
 #2  0x0000555555652b37 in CheckLeakAutoVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffc3a0, settings=<optimized out>, errorLogger=<optimized out>) at lib/checkleakautovar.h:108
 #3  0x00005555556bc833 in CppCheck::checkNormalTokens (this=0x7fffffffce50, tokenizer=...) at build/cppcheck.cpp:732
 #4  0x00005555556bf694 in CppCheck::checkFile (this=0x7fffffffce50, filename=..., cfgname=..., fileStream=...) at build/cppcheck.cpp:542
 #5  0x00005555556c1cb8 in CppCheck::check (this=this@entry=0x7fffffffce50, path="temp/nedit-5.7/source/shell.c") at /usr/include/c++/8/bits/basic_string.h:936
 #6  0x00005555557fd63f in CppCheckExecutor::check_internal (this=0x7fffffffdbd0, cppcheck=..., argv=<optimized out>) at cli/cppcheckexecutor.cpp:884
 #7  0x00005555557fda92 in CppCheckExecutor::check (this=this@entry=0x7fffffffdbd0, argc=argc@entry=14, argv=argv@entry=0x7fffffffdf58) at cli/cppcheckexecutor.cpp:198
 #8  0x00005555555e6358 in main (argc=14, argv=0x7fffffffdf58) at cli/main.cpp:95

DONE
```
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request Sep 22, 2019
http://cppcheck1.osuosl.org:8000/z3
```
2019-09-22 03:00
ftp://ftp.se.debian.org/debian/pool/main/z/z3/z3_4.8.4.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=openmp -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-64-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.37
cppcheck: head 1.89
head-info: 6c9839a (2019-09-21 21:42:13 +0200)
count: Crash! Crash!
elapsed-time: -11.0 -11.0
head results:
Checking temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
singleMemberCallInScope (start=start@entry=0x555555e76750, varid=397, input=@0x7fffffffb25e: false) at build/checkstl.cpp:3976
3976	    if (isVariableChanged(dotTok->next(), endStatement, dotTok->astOperand1()->varId(), false, nullptr, true))
 #0  singleMemberCallInScope (start=start@entry=0x555555e76750, varid=397, input=@0x7fffffffb25e: false) at build/checkstl.cpp:3976
 #1  0x000055555566d0c5 in CheckStl::useStlAlgorithm (this=this@entry=0x7fffffffb390) at build/checkstl.cpp:4144
 danmar#2  0x000055555567d6ed in CheckStl::runChecks (this=<optimized out>, tokenizer=<optimized out>, settings=0x7fffffffcd50, errorLogger=0x7fffffffcb30) at lib/checkstl.h:74
 danmar#3  0x00005555556a9150 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcb30, tokenizer=...) at build/cppcheck.cpp:732
 danmar#4  0x00005555556adb6e in CppCheck::checkFile (this=this@entry=0x7fffffffcb30, filename="temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp", cfgname="", fileStream=...) at build/cppcheck.cpp:542
 danmar#5  0x00005555556b18bc in CppCheck::check (this=this@entry=0x7fffffffcb30, path="temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp") at build/cppcheck.cpp:197
 danmar#6  0x0000555555809337 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd8c0, cppcheck=..., argv=argv@entry=0x7fffffffdc48) at cli/cppcheckexecutor.cpp:884
 danmar#7  0x0000555555809c6a in CppCheckExecutor::check (this=0x7fffffffd8c0, argc=14, argv=0x7fffffffdc48) at cli/cppcheckexecutor.cpp:198
 danmar#8  0x00005555555b899b in main (argc=14, argv=0x7fffffffdc48) at cli/main.cpp:95
```

Due to code like the following, when cppcheck does not have the macros
`DEBUG_CODE` or `TRACE` defined:

```
        DEBUG_CODE(
                TRACE("nlsat",
                      for (literal l : result) {
                          m_solver.display(tout << " ", l);
                      }
                      tout << "\n";
                      );
                for (literal l : result) {
                    CTRACE("nlsat", l_true != m_solver.value(l), m_solver.display(tout, l) << " " << m_solver.value(l) << "\n";);
                    SASSERT(l_true == m_solver.value(l));
                });
```
I couldn't get a small reproducer, though.
KenPatrickLehrmann added a commit to KenPatrickLehrmann/cppcheck that referenced this pull request Sep 24, 2019
It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 danmar#7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 danmar#8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 danmar#9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 danmar#10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 danmar#11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 danmar#12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 danmar#13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 danmar#14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 danmar#15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 danmar#16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```
KenPatrickLehrmann added a commit to KenPatrickLehrmann/cppcheck that referenced this pull request Sep 26, 2019
It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 danmar#7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 danmar#8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 danmar#9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 danmar#10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 danmar#11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 danmar#12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 danmar#13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 danmar#14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 danmar#15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 danmar#16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```
KenPatrickLehrmann added a commit to KenPatrickLehrmann/cppcheck that referenced this pull request Sep 26, 2019
It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 danmar#7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 danmar#8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 danmar#9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 danmar#10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 danmar#11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 danmar#12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 danmar#13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 danmar#14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 danmar#15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 danmar#16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request Oct 3, 2019
http://cppcheck1.osuosl.org:8000/crash.html

For instance in http://cppcheck1.osuosl.org:8000/styx
```
==19651==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000001c (pc 0x556f21abc3df bp 0x7ffc140d2720 sp 0x7ffc140d2710 T0)
==19651==The signal is caused by a READ memory access.
==19651==Hint: address points to the zero page.
    #0 0x556f21abc3de in Variable::isGlobal() const ../lib/symboldatabase.h:342
    #1 0x556f221f801a in valueFlowForwardVariable ../lib/valueflow.cpp:2471
    danmar#2 0x556f22208130 in valueFlowForward ../lib/valueflow.cpp:3204
    danmar#3 0x556f221e9e14 in valueFlowReverse ../lib/valueflow.cpp:1892
    danmar#4 0x556f221f1a43 in valueFlowBeforeCondition ../lib/valueflow.cpp:2200
    danmar#5 0x556f2223dbb5 in ValueFlow::setValues(TokenList*, SymbolDatabase*, ErrorLogger*, Settings const*) ../lib/valueflow.cpp:6521
    danmar#6 0x556f220e5991 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/tokenize.cpp:2342
    danmar#7 0x556f21d8d066 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream&) ../lib/cppcheck.cpp:508
    danmar#8 0x556f21d84cd3 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/cppcheck.cpp:192
    danmar#9 0x556f21a28796 in CppCheckExecutor::check_internal(CppCheck&, int, char const* const*) ../cli/cppcheckexecutor.cpp:884
    danmar#10 0x556f21a24be8 in CppCheckExecutor::check(int, char const* const*) ../cli/cppcheckexecutor.cpp:198
    danmar#11 0x556f22313063 in main ../cli/main.cpp:95
```
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request Oct 8, 2019
http://cppcheck1.osuosl.org:8000/z3
```
2019-09-22 03:00
ftp://ftp.se.debian.org/debian/pool/main/z/z3/z3_4.8.4.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=openmp -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-64-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.37
cppcheck: head 1.89
head-info: 6c9839a (2019-09-21 21:42:13 +0200)
count: Crash! Crash!
elapsed-time: -11.0 -11.0
head results:
Checking temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
singleMemberCallInScope (start=start@entry=0x555555e76750, varid=397, input=@0x7fffffffb25e: false) at build/checkstl.cpp:3976
3976	    if (isVariableChanged(dotTok->next(), endStatement, dotTok->astOperand1()->varId(), false, nullptr, true))
 #0  singleMemberCallInScope (start=start@entry=0x555555e76750, varid=397, input=@0x7fffffffb25e: false) at build/checkstl.cpp:3976
 #1  0x000055555566d0c5 in CheckStl::useStlAlgorithm (this=this@entry=0x7fffffffb390) at build/checkstl.cpp:4144
 danmar#2  0x000055555567d6ed in CheckStl::runChecks (this=<optimized out>, tokenizer=<optimized out>, settings=0x7fffffffcd50, errorLogger=0x7fffffffcb30) at lib/checkstl.h:74
 danmar#3  0x00005555556a9150 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcb30, tokenizer=...) at build/cppcheck.cpp:732
 danmar#4  0x00005555556adb6e in CppCheck::checkFile (this=this@entry=0x7fffffffcb30, filename="temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp", cfgname="", fileStream=...) at build/cppcheck.cpp:542
 danmar#5  0x00005555556b18bc in CppCheck::check (this=this@entry=0x7fffffffcb30, path="temp/z3-z3-4.8.4/src/nlsat/nlsat_explain.cpp") at build/cppcheck.cpp:197
 danmar#6  0x0000555555809337 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd8c0, cppcheck=..., argv=argv@entry=0x7fffffffdc48) at cli/cppcheckexecutor.cpp:884
 danmar#7  0x0000555555809c6a in CppCheckExecutor::check (this=0x7fffffffd8c0, argc=14, argv=0x7fffffffdc48) at cli/cppcheckexecutor.cpp:198
 danmar#8  0x00005555555b899b in main (argc=14, argv=0x7fffffffdc48) at cli/main.cpp:95
```

Due to code like the following, when cppcheck does not have the macros
`DEBUG_CODE` or `TRACE` defined:

```
        DEBUG_CODE(
                TRACE("nlsat",
                      for (literal l : result) {
                          m_solver.display(tout << " ", l);
                      }
                      tout << "\n";
                      );
                for (literal l : result) {
                    CTRACE("nlsat", l_true != m_solver.value(l), m_solver.display(tout, l) << " " << m_solver.value(l) << "\n";);
                    SASSERT(l_true == m_solver.value(l));
                });
```
KenPatrickLehrmann added a commit to KenPatrickLehrmann/cppcheck that referenced this pull request Oct 11, 2019
It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 danmar#7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 danmar#8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 danmar#9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 danmar#10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 danmar#11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 danmar#12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 danmar#13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 danmar#14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 danmar#15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 danmar#16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```
danmar pushed a commit that referenced this pull request Oct 12, 2019
* Better handle const/noexcept methods/conversion operator

const or noexcept in a method / (conversion) operator definition were
badly parsed, ending in a bad ast.
This patch tries to make it better, at least making the ast less bad,
so as to avoid errors in later checks.

* Fix parsing of some operator

It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 #2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 #3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 #4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 #5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 #6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 #7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 #8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 #9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 #10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 #11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 #12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 #13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 #14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 #15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 #16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```

* Replace some ASSERT_EQUALS with TODO_ASSERT_EQUALS when the actual result is still wrong

* Remove invalid code from simplifyTypedef129

* Properly skip parentheses
danmar pushed a commit that referenced this pull request Oct 16, 2019
* Fix crashes in valueflow

http://cppcheck1.osuosl.org:8000/crash.html

For instance in http://cppcheck1.osuosl.org:8000/styx
```
==19651==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000001c (pc 0x556f21abc3df bp 0x7ffc140d2720 sp 0x7ffc140d2710 T0)
==19651==The signal is caused by a READ memory access.
==19651==Hint: address points to the zero page.
    #0 0x556f21abc3de in Variable::isGlobal() const ../lib/symboldatabase.h:342
    #1 0x556f221f801a in valueFlowForwardVariable ../lib/valueflow.cpp:2471
    #2 0x556f22208130 in valueFlowForward ../lib/valueflow.cpp:3204
    #3 0x556f221e9e14 in valueFlowReverse ../lib/valueflow.cpp:1892
    #4 0x556f221f1a43 in valueFlowBeforeCondition ../lib/valueflow.cpp:2200
    #5 0x556f2223dbb5 in ValueFlow::setValues(TokenList*, SymbolDatabase*, ErrorLogger*, Settings const*) ../lib/valueflow.cpp:6521
    #6 0x556f220e5991 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/tokenize.cpp:2342
    #7 0x556f21d8d066 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream&) ../lib/cppcheck.cpp:508
    #8 0x556f21d84cd3 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/cppcheck.cpp:192
    #9 0x556f21a28796 in CppCheckExecutor::check_internal(CppCheck&, int, char const* const*) ../cli/cppcheckexecutor.cpp:884
    #10 0x556f21a24be8 in CppCheckExecutor::check(int, char const* const*) ../cli/cppcheckexecutor.cpp:198
    #11 0x556f22313063 in main ../cli/main.cpp:95
```

* Add test case for crash in valueflow
rikardfalkeborn added a commit to rikardfalkeborn/cppcheck that referenced this pull request Oct 17, 2019
Example output:

	Packages: psi xenomai
	Token::hasKnownValue (this=0x0) at lib/token.h:988
	988	        return mImpl->mValues && std::any_of(mImpl->mValues->begin(), mImpl->mValues->end(), std::mem_fn(&ValueFlow::Value::isKnown));
	#0 Token::hasKnownValue (...) at lib/token.h:988
	#1 valueFlowReverse (...) at build/valueflow.cpp:3775
	danmar#2 valueFlowBeforeCondition (...) at /usr/include/c++/8/bits/stl_list.h:301
	danmar#3 ValueFlow::setValues (...) at build/valueflow.cpp:8403
	danmar#4 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	danmar#5 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	danmar#6 CppCheck::check (...) at /usr/include/c++/8/bits/basic_string.h:936
	danmar#7 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	danmar#8 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	danmar#9 main (...) at cli/main.cpp:95

	Packages: broker
	valueFlowReverse (tokenlist=tokenlist@entry=0x7fffffffbce0, tok=tok@entry=0x555555cc9930, varToken=varToken@entry=0x555555cc9b70, val=..., val2=..., errorLogger=errorLogger@entry=0x7fffffffcb20, settings=0x7fffffffcd40) at build/valueflow.cpp:3775
	3775	                if (!assignTok->hasKnownValue()) {
	#0 valueFlowReverse (...) at build/valueflow.cpp:3775
	#1 valueFlowBeforeCondition (...) at build/valueflow.cpp:4092
	danmar#2 ValueFlow::setValues (...) at build/valueflow.cpp:8406
	danmar#3 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	danmar#4 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	danmar#5 CppCheck::check (...) at build/cppcheck.cpp:197
	danmar#6 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	danmar#7 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	danmar#8 main (...) at cli/main.cpp:95
versat pushed a commit that referenced this pull request Oct 18, 2019
donate-cpu-server: Print grouped stack traces in crash report

Example output:

	Packages: psi xenomai
	Token::hasKnownValue (this=0x0) at lib/token.h:988
	988	        return mImpl->mValues && std::any_of(mImpl->mValues->begin(), mImpl->mValues->end(), std::mem_fn(&ValueFlow::Value::isKnown));
	#0 Token::hasKnownValue (...) at lib/token.h:988
	#1 valueFlowReverse (...) at build/valueflow.cpp:3775
	#2 valueFlowBeforeCondition (...) at /usr/include/c++/8/bits/stl_list.h:301
	#3 ValueFlow::setValues (...) at build/valueflow.cpp:8403
	#4 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	#5 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	#6 CppCheck::check (...) at /usr/include/c++/8/bits/basic_string.h:936
	#7 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	#8 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	#9 main (...) at cli/main.cpp:95

	Packages: broker
	valueFlowReverse (tokenlist=tokenlist@entry=0x7fffffffbce0, tok=tok@entry=0x555555cc9930, varToken=varToken@entry=0x555555cc9b70, val=..., val2=..., errorLogger=errorLogger@entry=0x7fffffffcb20, settings=0x7fffffffcd40) at build/valueflow.cpp:3775
	3775	                if (!assignTok->hasKnownValue()) {
	#0 valueFlowReverse (...) at build/valueflow.cpp:3775
	#1 valueFlowBeforeCondition (...) at build/valueflow.cpp:4092
	#2 ValueFlow::setValues (...) at build/valueflow.cpp:8406
	#3 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	#4 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	#5 CppCheck::check (...) at build/cppcheck.cpp:197
	#6 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	#7 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	#8 main (...) at cli/main.cpp:95
jubnzv pushed a commit to jubnzv/cppcheck that referenced this pull request Nov 13, 2019
http://cppcheck.osuosl.org:8000/ycmd
```
2019-08-30 23:21
ftp://ftp.se.debian.org/debian/pool/main/y/ycmd/ycmd_0+20181101+git600f54d.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=qt --library=python --library=googletest --library=boost -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.31
cppcheck: head 1.88
count: Crash! 83
elapsed-time: -11.0 61.2
head results:
Checking temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
2376	            if (!tok->variable())
 #0  CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
 #1  0x00005555556901ac in CheckUninitVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffbcb0, settings=0x7fffffffcd10, errorLogger=<optimized out>) at lib/checkuninitvar.h:68
 danmar#2  0x00005555556a2210 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcaf0, tokenizer=...) at build/cppcheck.cpp:730
 danmar#3  0x00005555556a6ee2 in CppCheck::checkFile (this=this@entry=0x7fffffffcaf0, filename="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc", cfgname="", fileStream=...) at build/cppcheck.cpp:540
 danmar#4  0x00005555556aad4c in CppCheck::check (this=this@entry=0x7fffffffcaf0, path="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc") at build/cppcheck.cpp:195
 danmar#5  0x00005555557ef167 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd880, cppcheck=..., argv=argv@entry=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:884
 danmar#6  0x00005555557efa9a in CppCheckExecutor::check (this=0x7fffffffd880, argc=17, argv=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:198
 danmar#7  0x00005555555b1d1b in main (argc=17, argv=0x7fffffffdc08) at cli/main.cpp:95
```
jubnzv pushed a commit to jubnzv/cppcheck that referenced this pull request Nov 13, 2019
Crashes found by daca@home
http://cppcheck1.osuosl.org:8000/crash.html

For instance
```
2019-09-20 16:27
ftp://ftp.se.debian.org/debian/pool/main/n/nedit/nedit_5.7.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=motif -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.19.0-6-amd64-x86_64-with-debian-10.1
python: 2.7.16
client-version: 1.1.37
cppcheck: head 1.89
head-info: 38dec6a (2019-09-20 16:46:57 +0200)
count: Crash! 934
elapsed-time: -11.0 9.0
head results:
Checking temp/nedit-5.7/source/shell.c: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
340	        return mImpl->mValueType;
 #0  0x000055555564b862 in CheckLeakAutoVar::ret (this=0x7fffffffb8c0, tok=0x5555582ea9e0, varInfo=...) at lib/token.h:340
 #1  0x0000555555651764 in CheckLeakAutoVar::check (this=0x7fffffffb8c0) at build/checkleakautovar.cpp:714
 danmar#2  0x0000555555652b37 in CheckLeakAutoVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffc3a0, settings=<optimized out>, errorLogger=<optimized out>) at lib/checkleakautovar.h:108
 danmar#3  0x00005555556bc833 in CppCheck::checkNormalTokens (this=0x7fffffffce50, tokenizer=...) at build/cppcheck.cpp:732
 danmar#4  0x00005555556bf694 in CppCheck::checkFile (this=0x7fffffffce50, filename=..., cfgname=..., fileStream=...) at build/cppcheck.cpp:542
 danmar#5  0x00005555556c1cb8 in CppCheck::check (this=this@entry=0x7fffffffce50, path="temp/nedit-5.7/source/shell.c") at /usr/include/c++/8/bits/basic_string.h:936
 danmar#6  0x00005555557fd63f in CppCheckExecutor::check_internal (this=0x7fffffffdbd0, cppcheck=..., argv=<optimized out>) at cli/cppcheckexecutor.cpp:884
 danmar#7  0x00005555557fda92 in CppCheckExecutor::check (this=this@entry=0x7fffffffdbd0, argc=argc@entry=14, argv=argv@entry=0x7fffffffdf58) at cli/cppcheckexecutor.cpp:198
 danmar#8  0x00005555555e6358 in main (argc=14, argv=0x7fffffffdf58) at cli/main.cpp:95

DONE
```
jubnzv pushed a commit to jubnzv/cppcheck that referenced this pull request Nov 13, 2019
* Better handle const/noexcept methods/conversion operator

const or noexcept in a method / (conversion) operator definition were
badly parsed, ending in a bad ast.
This patch tries to make it better, at least making the ast less bad,
so as to avoid errors in later checks.

* Fix parsing of some operator

It is still very broken, but at least, it does not fail.

Here is the previous error:
```
TestSimplifyTypedef::simplifyTypedef129
terminate called after throwing an instance of 'InternalError'

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007ffff612a801 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff6b1d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#3  0x00007ffff6b23ab6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#4  0x00007ffff6b23af1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#5  0x00007ffff6b23d24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 danmar#6  0x0000555556366bf8 in Tokenizer::cppcheckError (this=0x7fffffffc2d0, tok=0x607000006760) at ../lib/tokenize.cpp:8721
 danmar#7  0x000055555636a4bb in Tokenizer::validate (this=0x7fffffffc2d0) at ../lib/tokenize.cpp:9154
 danmar#8  0x000055555633e3aa in Tokenizer::simplifyTokenList1 (this=0x7fffffffc2d0, FileName=0x603000002d50 "test.cpp") at ../lib/tokenize.cpp:4477
 danmar#9  0x00005555563223ca in Tokenizer::simplifyTokens1 (this=0x7fffffffc2d0, configuration="") at ../lib/tokenize.cpp:2286
 danmar#10 0x00005555563235c8 in Tokenizer::tokenize (this=0x7fffffffc2d0, code=..., FileName=0x555556fda9a0 "test.cpp", configuration="") at ../lib/tokenize.cpp:2345
 danmar#11 0x00005555569410ea in TestSimplifyTypedef::tok[abi:cxx11](char const*, bool, cppcheck::Platform::PlatformType, bool) (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>,
     code=0x7fffffffcb70 "class c {\n  typedef char foo[4];\n  foo _a;\n  constexpr operator foo &() const noexcept { return _a; }\n};", simplify=false, type=cppcheck::Platform::Native, debugwarnings=true) at ../test/testsimplifytypedef.cpp:192
 danmar#12 0x000055555697239e in TestSimplifyTypedef::simplifyTypedef129 (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:2599
 danmar#13 0x000055555694092c in TestSimplifyTypedef::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>) at ../test/testsimplifytypedef.cpp:167
 danmar#14 0x00005555569cab84 in TestFixture::run (this=0x555557728580 <(anonymous namespace)::instance_TestSimplifyTypedef>, str="simplifyTypedef129") at ../test/testsuite.cpp:306
 danmar#15 0x00005555569cb445 in TestFixture::runTests (args=...) at ../test/testsuite.cpp:329
 danmar#16 0x000055555687bdfb in main (argc=2, argv=0x7fffffffd988) at ../test/testrunner.cpp:44
```

* Replace some ASSERT_EQUALS with TODO_ASSERT_EQUALS when the actual result is still wrong

* Remove invalid code from simplifyTypedef129

* Properly skip parentheses
jubnzv pushed a commit to jubnzv/cppcheck that referenced this pull request Nov 13, 2019
* Fix crashes in valueflow

http://cppcheck1.osuosl.org:8000/crash.html

For instance in http://cppcheck1.osuosl.org:8000/styx
```
==19651==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000001c (pc 0x556f21abc3df bp 0x7ffc140d2720 sp 0x7ffc140d2710 T0)
==19651==The signal is caused by a READ memory access.
==19651==Hint: address points to the zero page.
    #0 0x556f21abc3de in Variable::isGlobal() const ../lib/symboldatabase.h:342
    #1 0x556f221f801a in valueFlowForwardVariable ../lib/valueflow.cpp:2471
    danmar#2 0x556f22208130 in valueFlowForward ../lib/valueflow.cpp:3204
    danmar#3 0x556f221e9e14 in valueFlowReverse ../lib/valueflow.cpp:1892
    danmar#4 0x556f221f1a43 in valueFlowBeforeCondition ../lib/valueflow.cpp:2200
    danmar#5 0x556f2223dbb5 in ValueFlow::setValues(TokenList*, SymbolDatabase*, ErrorLogger*, Settings const*) ../lib/valueflow.cpp:6521
    danmar#6 0x556f220e5991 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/tokenize.cpp:2342
    danmar#7 0x556f21d8d066 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream&) ../lib/cppcheck.cpp:508
    danmar#8 0x556f21d84cd3 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/cppcheck.cpp:192
    danmar#9 0x556f21a28796 in CppCheckExecutor::check_internal(CppCheck&, int, char const* const*) ../cli/cppcheckexecutor.cpp:884
    danmar#10 0x556f21a24be8 in CppCheckExecutor::check(int, char const* const*) ../cli/cppcheckexecutor.cpp:198
    danmar#11 0x556f22313063 in main ../cli/main.cpp:95
```

* Add test case for crash in valueflow
jubnzv pushed a commit to jubnzv/cppcheck that referenced this pull request Nov 13, 2019
donate-cpu-server: Print grouped stack traces in crash report

Example output:

	Packages: psi xenomai
	Token::hasKnownValue (this=0x0) at lib/token.h:988
	988	        return mImpl->mValues && std::any_of(mImpl->mValues->begin(), mImpl->mValues->end(), std::mem_fn(&ValueFlow::Value::isKnown));
	#0 Token::hasKnownValue (...) at lib/token.h:988
	#1 valueFlowReverse (...) at build/valueflow.cpp:3775
	danmar#2 valueFlowBeforeCondition (...) at /usr/include/c++/8/bits/stl_list.h:301
	danmar#3 ValueFlow::setValues (...) at build/valueflow.cpp:8403
	danmar#4 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	danmar#5 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	danmar#6 CppCheck::check (...) at /usr/include/c++/8/bits/basic_string.h:936
	danmar#7 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	danmar#8 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	danmar#9 main (...) at cli/main.cpp:95

	Packages: broker
	valueFlowReverse (tokenlist=tokenlist@entry=0x7fffffffbce0, tok=tok@entry=0x555555cc9930, varToken=varToken@entry=0x555555cc9b70, val=..., val2=..., errorLogger=errorLogger@entry=0x7fffffffcb20, settings=0x7fffffffcd40) at build/valueflow.cpp:3775
	3775	                if (!assignTok->hasKnownValue()) {
	#0 valueFlowReverse (...) at build/valueflow.cpp:3775
	#1 valueFlowBeforeCondition (...) at build/valueflow.cpp:4092
	danmar#2 ValueFlow::setValues (...) at build/valueflow.cpp:8406
	danmar#3 Tokenizer::simplifyTokens1 (...) at build/tokenize.cpp:11095
	danmar#4 CppCheck::checkFile (...) at build/cppcheck.cpp:513
	danmar#5 CppCheck::check (...) at build/cppcheck.cpp:197
	danmar#6 CppCheckExecutor::check_internal (...) at cli/cppcheckexecutor.cpp:884
	danmar#7 CppCheckExecutor::check (...) at cli/cppcheckexecutor.cpp:198
	danmar#8 main (...) at cli/main.cpp:95
Ken-Patrick pushed a commit to Ken-Patrick/cppcheck that referenced this pull request May 20, 2020
```
./bin/cppcheck --dump --quiet ../addons/test/misra/misra-test.c
AddressSanitizer:DEADLYSIGNAL
=================================================================
==15993==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000040 (pc 0x55f6a7e19b53 bp 0x7ffd72146250 sp 0x7ffd72146240 T0)
==15993==The signal is caused by a READ memory access.
==15993==Hint: address points to the zero page.
    #0 0x55f6a7e19b52 in Token::isArithmeticalOp() const ../lib/token.h:418
    #1 0x55f6a7e19aa5 in Token::isConstOp() const ../lib/token.h:408
    danmar#2 0x55f6a860a032 in isDecayedPointer ../lib/valueflow.cpp:3462
    danmar#3 0x55f6a860c27e in valueFlowLifetime ../lib/valueflow.cpp:3574
    danmar#4 0x55f6a8634aba in ValueFlow::setValues(TokenList*, SymbolDatabase*, ErrorLogger*, Settings const*) ../lib/valueflow.cpp:6127
    danmar#5 0x55f6a84de5dc in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/tokenize.cpp:2349
    danmar#6 0x55f6a8122aa3 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream&) ../lib/cppcheck.cpp:727
    danmar#7 0x55f6a81192b7 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../lib/cppcheck.cpp:407
    danmar#8 0x55f6a7d37270 in CppCheckExecutor::check_internal(CppCheck&, int, char const* const*) ../cli/cppcheckexecutor.cpp:920
    danmar#9 0x55f6a7d3366c in CppCheckExecutor::check(int, char const* const*) ../cli/cppcheckexecutor.cpp:231
    danmar#10 0x55f6a871ebef in main ../cli/main.cpp:95
    danmar#11 0x7fe03286409a in __libc_start_main ../csu/libc-start.c:308

```
Ken-Patrick added a commit to Ken-Patrick/cppcheck that referenced this pull request Jan 31, 2021
Spotted  by daca:
http://cppcheck1.osuosl.org:8000/kactivities-stats

```
2021-01-26 16:31
ftp://ftp.de.debian.org/debian/pool/main/k/kactivities-stats/kactivities-stats_5.78.0.orig.tar.xz
cppcheck-options: --library=posix --library=gnu --library=boost --library=qt -j1 --showtime=top5 --check-library --inconclusive --enable=style,information --template=daca2 -rp=temp -D__GNUC__ --platform=unix64 temp
platform: Linux-4.4.180-102-default-x86_64-with-SuSE-42.3-x86_64
python: 3.4.6
client-version: 1.3.7
cppcheck: head 2.3
head-info: 987c8a8 (2021-01-25 22:51:50 +0100)
count: Crash! Crash!
elapsed-time: -11.0 -11.0
head-timing-info:

old-timing-info:

head results:
Checking temp/kactivities-stats-5.78.0/src/resultwatcher.cpp: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
0x00000000004c5e03 in CheckClass::constructors (this=this@entry=0x7fffffffbbc0) at build/checkclass.cpp:1387
1387	                if (var.valueType()->pointer == 0 && var.type() && var.type()->needInitialization == Type::NeedInitialization::False && var.type()->derivedFrom.empty())
 #0  0x00000000004c5e03 in CheckClass::constructors (this=this@entry=0x7fffffffbbc0) at build/checkclass.cpp:1387
 #1  0x00000000004cc7eb in CheckClass::runChecks (this=<optimized out>, tokenizer=<optimized out>, settings=<optimized out>, errorLogger=<optimized out>) at lib/checkclass.h:66
 danmar#2  0x000000000058a0d8 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffd2a0, tokenizer=...) at build/cppcheck.cpp:968
 danmar#3  0x00000000005909f9 in CppCheck::checkFile (this=this@entry=0x7fffffffd2a0, filename=..., cfgname=..., fileStream=...) at build/cppcheck.cpp:769
 danmar#4  0x0000000000594769 in CppCheck::check (this=this@entry=0x7fffffffd2a0, path=...) at build/cppcheck.cpp:409
 danmar#5  0x0000000000727b7d in CppCheckExecutor::check_internal (this=0x7fffffffdfc0, cppcheck=..., argv=<optimized out>) at cli/cppcheckexecutor.cpp:923
 danmar#6  0x0000000000728f0d in CppCheckExecutor::check (this=this@entry=0x7fffffffdfc0, argc=argc@entry=16, argv=argv@entry=0x7fffffffe348) at cli/cppcheckexecutor.cpp:232
 danmar#7  0x000000000047fe87 in main (argc=16, argv=0x7fffffffe348) at cli/main.cpp:95

DONE
```
Ken-Patrick added a commit to Ken-Patrick/cppcheck that referenced this pull request Apr 17, 2022
Spotted by daca@home, in many packages

For instance http://cppcheck1.osuosl.org:8000/a2ps

```
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
 #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
 #1  0x00007ffff7b09535 in __GI_abort () at abort.c:79
 danmar#2  0x00007ffff7b0940f in __assert_fail_base (fmt=0x7ffff7c6bee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555555902637 "!maxValue->isKnown()", file=0x5555559025f1 "build/infer.cpp", line=136, function=<optimized out>) at assert.c:92
 danmar#3  0x00007ffff7b17102 in __GI___assert_fail (assertion=assertion@entry=0x555555902637 "!maxValue->isKnown()", file=file@entry=0x5555559025f1 "build/infer.cpp", line=line@entry=136, function=function@entry=0x555555902700 <Interval::fromValues<Interval::fromValues(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&)::{lambda(ValueFlow::Value const&)#1}>(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&, Interval::fromValues(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&)::{lambda(ValueFlow::Value const&)#1})::__PRETTY_FUNCTION__> "static Interval Interval::fromValues(const std::__cxx11::list<ValueFlow::Value>&, Predicate) [with Predicate = Interval::fromValues(const std::__cxx11::list<ValueFlow::Value>&)::<lambda(const ValueFlo"...) at assert.c:101
 danmar#4  0x000055555577ce8e in Interval::fromValues<Interval::fromValues(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&)::{lambda(ValueFlow::Value const&)#1}>(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&, Interval::fromValues(std::__cxx11::list<ValueFlow::Value, std::allocator<ValueFlow::Value> > const&)::{lambda(ValueFlow::Value const&)#1}) (predicate=..., values=...) at lib/valueflow.h:392
 danmar#5  Interval::fromValues (values=...) at build/infer.cpp:145
 danmar#6  infer (model=..., op="<=", lhsValues=std::__cxx11::list, rhsValues=std::__cxx11::list) at build/infer.cpp:290
 danmar#7  0x00005555558a3889 in valueFlowInferCondition (settings=0x7fffffffdab0, tokenlist=0x7fffffffc9c0) at /usr/include/c++/8/bits/shared_ptr_base.h:1386
 danmar#8  ValueFlow::setValues (tokenlist=tokenlist@entry=0x7fffffffc9c0, symboldatabase=0x555555cd5160, errorLogger=0x7fffffffd890, settings=0x7fffffffdab0) at build/valueflow.cpp:9044
 danmar#9  0x0000555555865a65 in Tokenizer::simplifyTokens1 (this=this@entry=0x7fffffffc9c0, configuration="__GNUC__=1") at build/tokenize.cpp:12386
 danmar#10 0x000055555571da55 in CppCheck::checkFile (this=0x7fffffffd890, filename=..., cfgname=..., fileStream=...) at build/cppcheck.cpp:827
```
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 14, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==239799==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x559dd20fb7f0 bp 0x7fff65cb9cf0 sp 0x7fff65cb96e0 T0)
==239799==The signal is caused by a READ memory access.
==239799==Hint: address points to the zero page.
    #0 0x559dd20fb7f0 in Token::exprId() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:884:13
    #1 0x559dd20fb7f0 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:323:21
    danmar#2 0x559dd20fb3b5 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:307:9
    danmar#3 0x559dd20fb3b5 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:307:9
    danmar#4 0x559dd210c712 in fillProgramMemoryFromConditions(ProgramMemory&, Scope const*, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:350:13
    danmar#5 0x559dd210c58c in fillProgramMemoryFromConditions(ProgramMemory&, Scope const*, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:341:5
    danmar#6 0x559dd20fec3d in fillProgramMemoryFromConditions(ProgramMemory&, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:356:5
    danmar#7 0x559dd20fec3d in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value>>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:471:5
    danmar#8 0x559dd2538e25 in ValueFlowAnalyzer::updateState(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:3046:13
    danmar#9 0x559dd1fa7380 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/forwardanalyzer.cpp:913:22
    danmar#10 0x559dd252f52a in valueFlowForward(Token*, Token const*, Token const*, ValueFlow::Value, TokenList const&, ErrorLogger*, Settings const&, SourceLocation) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:2119:12
    danmar#11 0x559dd2579491 in valueFlowSymbolic(TokenList const&, SymbolDatabase const&, ErrorLogger*, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:5513:13
    danmar#12 0x559dd2579491 in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*)::$_10::operator()(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, std::set<Scope const*, std::less<Scope const*>, std::allocator<Scope const*>> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9565:9
    danmar#13 0x559dd2579491 in ValueFlowPassAdaptor<ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*)::$_10>::run(ValueFlowState const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9500:9
    danmar#14 0x559dd24dfda4 in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9428:19
    danmar#15 0x559dd24df868 in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)::operator()(ValuePtr<ValueFlowPass> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9385:20
    danmar#16 0x559dd24df868 in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/predefined_ops.h:318:16
    danmar#17 0x559dd24df868 in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>, std::random_access_iterator_tag) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algobase.h:2080:8
    danmar#18 0x559dd24ac9b3 in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algobase.h:2117:14
    danmar#19 0x559dd24ac9b3 in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:3923:14
    danmar#20 0x559dd24ac9b3 in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:477:24
    danmar#21 0x559dd24ac9b3 in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:496:15
    danmar#22 0x559dd24ac9b3 in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9384:16
    danmar#23 0x559dd24ac9b3 in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9554:12
    danmar#24 0x559dd2392276 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenize.cpp:3395:13
    danmar#25 0x559dd1ed4304 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:906:32
    danmar#26 0x559dd1ee0521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#27 0x559dd18e9d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#28 0x559dd1790538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#29 0x559dd1791210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#30 0x559dd17922a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#31 0x559dd17930c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#32 0x559dd17735b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#33 0x559dd16f7fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#34 0x7feca7a45ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#35 0x7feca7a45d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#36 0x559dd175d354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:884:13 in Token::exprId() const
==239799==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 14, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==247105==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000040 (pc 0x55dd2f3cde37 bp 0x7ffcb1f26ad0 sp 0x7ffcb1f269a0 T0)
==247105==The signal is caused by a READ memory access.
==247105==Hint: address points to the zero page.
    #0 0x55dd2f3cde37 in Token::variable() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:1082:16
    #1 0x55dd2f3cde37 in CheckUninitVar::isVariableUsage(Token const*, Library const&, bool, CheckUninitVar::Alloc, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1290:42
    danmar#2 0x55dd2f3c9322 in CheckUninitVar::isVariableUsage(Token const*, bool, CheckUninitVar::Alloc, int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1343:12
    danmar#3 0x55dd2f3c9322 in CheckUninitVar::checkLoopBodyRecursive(Token const*, Variable const&, CheckUninitVar::Alloc, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1037:39
    danmar#4 0x55dd2f3b5995 in CheckUninitVar::checkLoopBody(Token const*, Variable const&, CheckUninitVar::Alloc, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1072:31
    danmar#5 0x55dd2f3bbf99 in CheckUninitVar::checkScopeForVariable(Token const*, Variable const&, bool*, bool*, CheckUninitVar::Alloc*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::map<int, VariableValue, std::less<int>, std::allocator<std::pair<int const, VariableValue>>>&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:637:35
    danmar#6 0x55dd2f3b3850 in CheckUninitVar::checkScope(Scope const*, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:201:17
    danmar#7 0x55dd2f3b258a in CheckUninitVar::check() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:131:13
    danmar#8 0x55dd2f3d9d64 in CheckUninitVar::runChecks(Tokenizer const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.h:86:24
    danmar#9 0x55dd2f485834 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1103:20
    danmar#10 0x55dd2f499c5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#11 0x55dd2f4a5521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#12 0x55dd2eeaed03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#13 0x55dd2ed55538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#14 0x55dd2ed56210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#15 0x55dd2ed572a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#16 0x55dd2ed580c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#17 0x55dd2ed385b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#18 0x55dd2ecbcfa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#19 0x7f09f9558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#20 0x7f09f9558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x55dd2ed22354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:1082:16 in Token::variable() const
==247105==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 14, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==247108==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x55e3348f5ccd bp 0x7ffc2c750a70 sp 0x7ffc2c7508a0 T0)
==247108==The signal is caused by a READ memory access.
==247108==Hint: address points to the zero page.
    #0 0x55e3348f5ccd in compilePrecedence2(Token*&, (anonymous namespace)::AST_state&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_deque.h
    #1 0x55e3348f1a17 in compilePrecedence3(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1038:5
    danmar#2 0x55e3348f13b5 in compilePointerToElem(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1137:5
    danmar#3 0x55e3348f13b5 in compileMulDiv(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1147:5
    danmar#4 0x55e3348f1095 in compileAddSub(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1166:5
    danmar#5 0x55e3348f1095 in compileShift(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1176:5
    danmar#6 0x55e3348f0d15 in compileThreewayComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1186:5
    danmar#7 0x55e3348f0d15 in compileRelComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1196:5
    danmar#8 0x55e3348f07b5 in compileEqComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1206:5
    danmar#9 0x55e3348f07b5 in compileAnd(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1216:5
    danmar#10 0x55e3348efe9a in compileXor(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1235:5
    danmar#11 0x55e3348efe9a in compileOr(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1245:5
    danmar#12 0x55e3348efe9a in compileLogicAnd(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1255:5
    danmar#13 0x55e3348ee8d9 in compileLogicOr(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1274:5
    danmar#14 0x55e3348ee8d9 in compileAssignTernary(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1284:5
    danmar#15 0x55e3348eb768 in compileComma(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1325:5
    danmar#16 0x55e3348eb768 in compileExpression(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1343:9
    danmar#17 0x55e3348e0f49 in createAstAtToken(Token*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1689:9
    danmar#18 0x55e3348dd43e in TokenList::createAst() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1717:15
    danmar#19 0x55e334811894 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenize.cpp:3363:14
    danmar#20 0x55e334354304 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:906:32
    danmar#21 0x55e334360521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#22 0x55e333d69d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#23 0x55e333c10538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#24 0x55e333c11210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#25 0x55e333c122a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#26 0x55e333c130c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#27 0x55e333bf35b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#28 0x55e333b77fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#29 0x7fcdfb758ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#30 0x7fcdfb758d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#31 0x55e333bdd354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_deque.h in compilePrecedence2(Token*&, (anonymous namespace)::AST_state&)
==247108==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==232899==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x55abb8090d86 bp 0x7ffcbc7b97b0 sp 0x7ffcbc7b96a0 T0)
==232899==The signal is caused by a READ memory access.
==232899==Hint: address points to the zero page.
    #0 0x55abb8090d86 in Token::varId() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:871:16
    #1 0x55abb8090d86 in CheckFunctions::useStandardLibrary() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkfunctions.cpp:769:80
    danmar#2 0x55abb80926ed in CheckFunctions::runChecks(Tokenizer const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkfunctions.h:77:24
    danmar#3 0x55abb8355804 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1103:20
    danmar#4 0x55abb8369c2d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#5 0x55abb83754f1 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#6 0x55abb7d7ed03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#7 0x55abb7c25538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#8 0x55abb7c26210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#9 0x55abb7c272a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#10 0x55abb7c280c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#11 0x55abb7c085b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#12 0x55abb7b8cfa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)
    danmar#13 0x7f5b5e558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#14 0x7f5b5e558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#15 0x55abb7bf2354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 9b6f489166c86142b87bd650e508e6d1ecb4ca9c)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:871:16 in Token::varId() const
==232899==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
==237109==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x559a429ab30d bp 0x7ffdfaee8450 sp 0x7ffdfaee8320 T0)
==237109==The signal is caused by a READ memory access.
==237109==Hint: address points to the zero page.
    #0 0x559a429ab30d in Token::valueType() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:332:16
    #1 0x559a429ab30d in CheckOther::checkIncompleteStatement() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkother.cpp:1941:79
    danmar#2 0x559a42a05e0c in CheckOther::runChecks(Tokenizer const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkother.h:102:20
    danmar#3 0x559a42b9e824 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1103:20
    danmar#4 0x559a42bb2c4d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#5 0x559a42bbe511 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#6 0x559a425c7d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#7 0x559a4246e538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#8 0x559a4246f210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#9 0x559a424702a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#10 0x559a424710c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#11 0x559a424515b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#12 0x559a423d5fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)
    danmar#13 0x7f0546b58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#14 0x7f0546b58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#15 0x559a4243b354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: fb3fc26fe0a2374418e90abefc930d3bf5ef711a)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:332:16 in Token::valueType() const
==237109==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==239799==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x559dd20fb7f0 bp 0x7fff65cb9cf0 sp 0x7fff65cb96e0 T0)
==239799==The signal is caused by a READ memory access.
==239799==Hint: address points to the zero page.
    #0 0x559dd20fb7f0 in Token::exprId() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:884:13
    #1 0x559dd20fb7f0 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:323:21
    danmar#2 0x559dd20fb3b5 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:307:9
    danmar#3 0x559dd20fb3b5 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:307:9
    danmar#4 0x559dd210c712 in fillProgramMemoryFromConditions(ProgramMemory&, Scope const*, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:350:13
    danmar#5 0x559dd210c58c in fillProgramMemoryFromConditions(ProgramMemory&, Scope const*, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:341:5
    danmar#6 0x559dd20fec3d in fillProgramMemoryFromConditions(ProgramMemory&, Token const*, Settings const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:356:5
    danmar#7 0x559dd20fec3d in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value>>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/programmemory.cpp:471:5
    danmar#8 0x559dd2538e25 in ValueFlowAnalyzer::updateState(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:3046:13
    danmar#9 0x559dd1fa7380 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/forwardanalyzer.cpp:913:22
    danmar#10 0x559dd252f52a in valueFlowForward(Token*, Token const*, Token const*, ValueFlow::Value, TokenList const&, ErrorLogger*, Settings const&, SourceLocation) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:2119:12
    danmar#11 0x559dd2579491 in valueFlowSymbolic(TokenList const&, SymbolDatabase const&, ErrorLogger*, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:5513:13
    danmar#12 0x559dd2579491 in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*)::$_10::operator()(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, std::set<Scope const*, std::less<Scope const*>, std::allocator<Scope const*>> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9565:9
    danmar#13 0x559dd2579491 in ValueFlowPassAdaptor<ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*)::$_10>::run(ValueFlowState const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9500:9
    danmar#14 0x559dd24dfda4 in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9428:19
    danmar#15 0x559dd24df868 in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)::operator()(ValuePtr<ValueFlowPass> const&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9385:20
    danmar#16 0x559dd24df868 in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/predefined_ops.h:318:16
    danmar#17 0x559dd24df868 in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>, std::random_access_iterator_tag) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algobase.h:2080:8
    danmar#18 0x559dd24ac9b3 in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algobase.h:2117:14
    danmar#19 0x559dd24ac9b3 in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:3923:14
    danmar#20 0x559dd24ac9b3 in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:477:24
    danmar#21 0x559dd24ac9b3 in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const::'lambda'(ValuePtr<ValueFlowPass> const&)) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_algo.h:496:15
    danmar#22 0x559dd24ac9b3 in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass>>) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9384:16
    danmar#23 0x559dd24ac9b3 in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/valueflow.cpp:9554:12
    danmar#24 0x559dd2392276 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenize.cpp:3395:13
    danmar#25 0x559dd1ed4304 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:906:32
    danmar#26 0x559dd1ee0521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#27 0x559dd18e9d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#28 0x559dd1790538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#29 0x559dd1791210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#30 0x559dd17922a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#31 0x559dd17930c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#32 0x559dd17735b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#33 0x559dd16f7fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)
    danmar#34 0x7feca7a45ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#35 0x7feca7a45d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#36 0x559dd175d354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: c702153d07ad5f19357ff1899a39d599da20f3e2)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:884:13 in Token::exprId() const
==239799==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==247105==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000040 (pc 0x55dd2f3cde37 bp 0x7ffcb1f26ad0 sp 0x7ffcb1f269a0 T0)
==247105==The signal is caused by a READ memory access.
==247105==Hint: address points to the zero page.
    #0 0x55dd2f3cde37 in Token::variable() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:1082:16
    #1 0x55dd2f3cde37 in CheckUninitVar::isVariableUsage(Token const*, Library const&, bool, CheckUninitVar::Alloc, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1290:42
    danmar#2 0x55dd2f3c9322 in CheckUninitVar::isVariableUsage(Token const*, bool, CheckUninitVar::Alloc, int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1343:12
    danmar#3 0x55dd2f3c9322 in CheckUninitVar::checkLoopBodyRecursive(Token const*, Variable const&, CheckUninitVar::Alloc, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1037:39
    danmar#4 0x55dd2f3b5995 in CheckUninitVar::checkLoopBody(Token const*, Variable const&, CheckUninitVar::Alloc, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:1072:31
    danmar#5 0x55dd2f3bbf99 in CheckUninitVar::checkScopeForVariable(Token const*, Variable const&, bool*, bool*, CheckUninitVar::Alloc*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::map<int, VariableValue, std::less<int>, std::allocator<std::pair<int const, VariableValue>>>&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:637:35
    danmar#6 0x55dd2f3b3850 in CheckUninitVar::checkScope(Scope const*, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:201:17
    danmar#7 0x55dd2f3b258a in CheckUninitVar::check() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.cpp:131:13
    danmar#8 0x55dd2f3d9d64 in CheckUninitVar::runChecks(Tokenizer const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkuninitvar.h:86:24
    danmar#9 0x55dd2f485834 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1103:20
    danmar#10 0x55dd2f499c5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#11 0x55dd2f4a5521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#12 0x55dd2eeaed03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#13 0x55dd2ed55538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#14 0x55dd2ed56210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#15 0x55dd2ed572a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#16 0x55dd2ed580c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#17 0x55dd2ed385b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#18 0x55dd2ecbcfa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#19 0x7f09f9558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#20 0x7f09f9558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x55dd2ed22354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:1082:16 in Token::variable() const
==247105==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
AddressSanitizer:DEADLYSIGNAL
=================================================================
==247108==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x55e3348f5ccd bp 0x7ffc2c750a70 sp 0x7ffc2c7508a0 T0)
==247108==The signal is caused by a READ memory access.
==247108==Hint: address points to the zero page.
    #0 0x55e3348f5ccd in compilePrecedence2(Token*&, (anonymous namespace)::AST_state&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_deque.h
    #1 0x55e3348f1a17 in compilePrecedence3(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1038:5
    danmar#2 0x55e3348f13b5 in compilePointerToElem(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1137:5
    danmar#3 0x55e3348f13b5 in compileMulDiv(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1147:5
    danmar#4 0x55e3348f1095 in compileAddSub(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1166:5
    danmar#5 0x55e3348f1095 in compileShift(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1176:5
    danmar#6 0x55e3348f0d15 in compileThreewayComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1186:5
    danmar#7 0x55e3348f0d15 in compileRelComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1196:5
    danmar#8 0x55e3348f07b5 in compileEqComp(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1206:5
    danmar#9 0x55e3348f07b5 in compileAnd(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1216:5
    danmar#10 0x55e3348efe9a in compileXor(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1235:5
    danmar#11 0x55e3348efe9a in compileOr(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1245:5
    danmar#12 0x55e3348efe9a in compileLogicAnd(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1255:5
    danmar#13 0x55e3348ee8d9 in compileLogicOr(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1274:5
    danmar#14 0x55e3348ee8d9 in compileAssignTernary(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1284:5
    danmar#15 0x55e3348eb768 in compileComma(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1325:5
    danmar#16 0x55e3348eb768 in compileExpression(Token*&, (anonymous namespace)::AST_state&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1343:9
    danmar#17 0x55e3348e0f49 in createAstAtToken(Token*, bool) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1689:9
    danmar#18 0x55e3348dd43e in TokenList::createAst() const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenlist.cpp:1717:15
    danmar#19 0x55e334811894 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/tokenize.cpp:3363:14
    danmar#20 0x55e334354304 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:906:32
    danmar#21 0x55e334360521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#22 0x55e333d69d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#23 0x55e333c10538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#24 0x55e333c11210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#25 0x55e333c122a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#26 0x55e333c130c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#27 0x55e333bf35b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#28 0x55e333b77fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)
    danmar#29 0x7fcdfb758ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#30 0x7fcdfb758d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#31 0x55e333bdd354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: a183bbe392f62ddef4ec71808dcbc702acf3775d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/stl_deque.h in compilePrecedence2(Token*&, (anonymous namespace)::AST_state&)
==247108==ABORTING
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 15, 2024
==332324==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x5602eb271504 bp 0x7ffe7cc5b430 sp 0x7ffe7cc5b420 T0)
==332324==The signal is caused by a READ memory access.
==332324==Hint: address points to the zero page.
    #0 0x5602eb271504 in previous /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16
    #1 0x5602eb271504 in tokAtImpl<const Token, void> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:796:20
    danmar#2 0x5602eb271504 in tokAt /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:804:12
    danmar#3 0x5602eb271504 in Token::strAt[abi:cxx11](int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:834:30
    danmar#4 0x5602ea7a2a76 in skipPointers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7573:18
    danmar#5 0x5602ea7a4555 in skipPointersAndQualifiers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7588:11
    danmar#6 0x5602ea79fc18 in Scope::isVariableDeclaration(Token const*, Token const*&, Token const*&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7639:27
    danmar#7 0x5602ea704b0b in Scope::checkVariable(Token const*, AccessControl, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7520:16
    danmar#8 0x5602ea79adc0 in Scope::getVariableList(Settings const&, Token const*, Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7466:15
    danmar#9 0x5602ea6b687d in getVariableList /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7358:9
    danmar#10 0x5602ea6b687d in SymbolDatabase::createSymbolDatabaseVariableInfo() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:3376:15
    danmar#11 0x5602ea699ec3 in SymbolDatabase::SymbolDatabase(Tokenizer&, Settings const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:2616:5
    danmar#12 0x5602ea4e75f7 in createSymbolDatabase /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17214:31
    danmar#13 0x5602ea4e75f7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10687:9
    danmar#14 0x5602eae99afd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:909:32
    danmar#15 0x5602eaea4e81 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#16 0x5602eb321fa4 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#17 0x5602e9feb1e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#18 0x5602e9febec0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x683ec0) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#19 0x5602e9fecf51 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x684f51) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#20 0x5602e9fedd77 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x685d77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#21 0x5602e9fce262 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666262) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#22 0x5602e9f53f77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#23 0x7f9479558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#24 0x7f9479558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#25 0x5602e9fb8004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16 in previous
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 19, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 19, 2024
==332324==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x5602eb271504 bp 0x7ffe7cc5b430 sp 0x7ffe7cc5b420 T0)
==332324==The signal is caused by a READ memory access.
==332324==Hint: address points to the zero page.
    #0 0x5602eb271504 in previous /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16
    #1 0x5602eb271504 in tokAtImpl<const Token, void> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:796:20
    danmar#2 0x5602eb271504 in tokAt /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:804:12
    danmar#3 0x5602eb271504 in Token::strAt[abi:cxx11](int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:834:30
    danmar#4 0x5602ea7a2a76 in skipPointers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7573:18
    danmar#5 0x5602ea7a4555 in skipPointersAndQualifiers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7588:11
    danmar#6 0x5602ea79fc18 in Scope::isVariableDeclaration(Token const*, Token const*&, Token const*&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7639:27
    danmar#7 0x5602ea704b0b in Scope::checkVariable(Token const*, AccessControl, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7520:16
    danmar#8 0x5602ea79adc0 in Scope::getVariableList(Settings const&, Token const*, Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7466:15
    danmar#9 0x5602ea6b687d in getVariableList /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7358:9
    danmar#10 0x5602ea6b687d in SymbolDatabase::createSymbolDatabaseVariableInfo() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:3376:15
    danmar#11 0x5602ea699ec3 in SymbolDatabase::SymbolDatabase(Tokenizer&, Settings const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:2616:5
    danmar#12 0x5602ea4e75f7 in createSymbolDatabase /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17214:31
    danmar#13 0x5602ea4e75f7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10687:9
    danmar#14 0x5602eae99afd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:909:32
    danmar#15 0x5602eaea4e81 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#16 0x5602eb321fa4 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#17 0x5602e9feb1e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#18 0x5602e9febec0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x683ec0) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#19 0x5602e9fecf51 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x684f51) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#20 0x5602e9fedd77 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x685d77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#21 0x5602e9fce262 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666262) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#22 0x5602e9f53f77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#23 0x7f9479558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#24 0x7f9479558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#25 0x5602e9fb8004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16 in previous
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 19, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 19, 2024
==332324==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x5602eb271504 bp 0x7ffe7cc5b430 sp 0x7ffe7cc5b420 T0)
==332324==The signal is caused by a READ memory access.
==332324==Hint: address points to the zero page.
    #0 0x5602eb271504 in previous /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16
    #1 0x5602eb271504 in tokAtImpl<const Token, void> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:796:20
    danmar#2 0x5602eb271504 in tokAt /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:804:12
    danmar#3 0x5602eb271504 in Token::strAt[abi:cxx11](int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:834:30
    danmar#4 0x5602ea7a2a76 in skipPointers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7573:18
    danmar#5 0x5602ea7a4555 in skipPointersAndQualifiers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7588:11
    danmar#6 0x5602ea79fc18 in Scope::isVariableDeclaration(Token const*, Token const*&, Token const*&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7639:27
    danmar#7 0x5602ea704b0b in Scope::checkVariable(Token const*, AccessControl, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7520:16
    danmar#8 0x5602ea79adc0 in Scope::getVariableList(Settings const&, Token const*, Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7466:15
    danmar#9 0x5602ea6b687d in getVariableList /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7358:9
    danmar#10 0x5602ea6b687d in SymbolDatabase::createSymbolDatabaseVariableInfo() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:3376:15
    danmar#11 0x5602ea699ec3 in SymbolDatabase::SymbolDatabase(Tokenizer&, Settings const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:2616:5
    danmar#12 0x5602ea4e75f7 in createSymbolDatabase /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17214:31
    danmar#13 0x5602ea4e75f7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10687:9
    danmar#14 0x5602eae99afd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:909:32
    danmar#15 0x5602eaea4e81 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#16 0x5602eb321fa4 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#17 0x5602e9feb1e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#18 0x5602e9febec0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x683ec0) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#19 0x5602e9fecf51 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x684f51) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#20 0x5602e9fedd77 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x685d77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#21 0x5602e9fce262 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666262) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#22 0x5602e9f53f77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#23 0x7f9479558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#24 0x7f9479558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#25 0x5602e9fb8004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16 in previous
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 19, 2024
==332324==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000030 (pc 0x5602eb271504 bp 0x7ffe7cc5b430 sp 0x7ffe7cc5b420 T0)
==332324==The signal is caused by a READ memory access.
==332324==Hint: address points to the zero page.
    #0 0x5602eb271504 in previous /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16
    #1 0x5602eb271504 in tokAtImpl<const Token, void> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:796:20
    danmar#2 0x5602eb271504 in tokAt /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:804:12
    danmar#3 0x5602eb271504 in Token::strAt[abi:cxx11](int) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/token.cpp:834:30
    danmar#4 0x5602ea7a2a76 in skipPointers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7573:18
    danmar#5 0x5602ea7a4555 in skipPointersAndQualifiers(Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7588:11
    danmar#6 0x5602ea79fc18 in Scope::isVariableDeclaration(Token const*, Token const*&, Token const*&) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7639:27
    danmar#7 0x5602ea704b0b in Scope::checkVariable(Token const*, AccessControl, Settings const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7520:16
    danmar#8 0x5602ea79adc0 in Scope::getVariableList(Settings const&, Token const*, Token const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7466:15
    danmar#9 0x5602ea6b687d in getVariableList /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:7358:9
    danmar#10 0x5602ea6b687d in SymbolDatabase::createSymbolDatabaseVariableInfo() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:3376:15
    danmar#11 0x5602ea699ec3 in SymbolDatabase::SymbolDatabase(Tokenizer&, Settings const&, ErrorLogger*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/symboldatabase.cpp:2616:5
    danmar#12 0x5602ea4e75f7 in createSymbolDatabase /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17214:31
    danmar#13 0x5602ea4e75f7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10687:9
    danmar#14 0x5602eae99afd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:909:32
    danmar#15 0x5602eaea4e81 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#16 0x5602eb321fa4 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#17 0x5602e9feb1e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#18 0x5602e9febec0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x683ec0) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#19 0x5602e9fecf51 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x684f51) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#20 0x5602e9fedd77 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x685d77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#21 0x5602e9fce262 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666262) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#22 0x5602e9f53f77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)
    danmar#23 0x7f9479558ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#24 0x7f9479558d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#25 0x5602e9fb8004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: 0f5e574f57ecf785c77394bbb6c8fcd6e24d8c57)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:867:16 in previous
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
…2438c73cec66f6b972b`

==58998==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x57edaa7f0739 bp 0x7ca98cedfa40 sp 0x7ffc632b1e20 T0)
==58998==The signal is caused by a READ memory access.
==58998==Hint: address points to the zero page.
    #0 0x57edaa7f0739 in Token::exprId() const lib/token.h:884
    #1 0x57edaa7f0739 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:523
    danmar#2 0x57edaa7f0e77 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:507
    danmar#3 0x57edaa7f2f44 in fillProgramMemoryFromConditions build/programmemory.cpp:550
    danmar#4 0x57edaa7f7e18 in fillProgramMemoryFromConditions build/programmemory.cpp:556
    danmar#5 0x57edaa7f7e18 in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value> > > const&) build/programmemory.cpp:671
    danmar#6 0x57eda9b5575a in ValueFlowAnalyzer::updateState(Token const*) build/valueflow.cpp:4718
    danmar#7 0x57edaa62ee68 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) build/forwardanalyzer.cpp:1174
    danmar#8 0x57eda9a127cc in valueFlowForward build/valueflow.cpp:3791
    danmar#9 0x57eda9a29d40 in valueFlowSymbolic build/valueflow.cpp:7185
    danmar#10 0x57eda9b53bbb in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11100
    danmar#11 0x57eda99db80b in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}::operator()(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11057
    danmar#12 0x57eda99db80b in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/include/c++/13.2.1/bits/predefined_ops.h:318
    danmar#13 0x57eda99db80b in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>, std::random_access_iterator_tag) /usr/include/c++/13.2.1/bits/stl_algobase.h:2080
    danmar#14 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>) /usr/include/c++/13.2.1/bits/stl_algobase.h:2117
    danmar#15 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:3923
    danmar#16 0x57eda9a456ad in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:477
    danmar#17 0x57eda9a456ad in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:496
    danmar#18 0x57eda9a456ad in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const build/valueflow.cpp:11056
    danmar#19 0x57eda9a456ad in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) build/valueflow.cpp:11226
    danmar#20 0x57eda9de4bf7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/tokenize.cpp:10711
    danmar#21 0x57edaa593646 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream*) build/cppcheck.cpp:909
    danmar#22 0x57edaa5979c2 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/cppcheck.cpp:555
    danmar#23 0x57edaaa60c73 in SingleExecutor::check() cli/singleexecutor.cpp:53
    danmar#24 0x57edaaa28191 in CppCheckExecutor::check_internal(CppCheck&) const cli/cppcheckexecutor.cpp:275
    danmar#25 0x57edaaa33f7d in CppCheckExecutor::check_wrapper(CppCheck&) cli/cppcheckexecutor.cpp:217
    danmar#26 0x57edaaa33f7d in CppCheckExecutor::check(int, char const* const*) cli/cppcheckexecutor.cpp:201
    danmar#27 0x57eda9928926 in main cli/main.cpp:91
    danmar#28 0x7ca98f643ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#29 0x7ca98f643d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#30 0x57eda9929344 in _start (/home/user/CLionProjects/cppcheck-rider/cppcheck+0x1f9344) (BuildId: f47a6a1e6b1bf052078202ec15cb5a1444d5c459)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
…2438c73cec66f6b972b`

==58998==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x57edaa7f0739 bp 0x7ca98cedfa40 sp 0x7ffc632b1e20 T0)
==58998==The signal is caused by a READ memory access.
==58998==Hint: address points to the zero page.
    #0 0x57edaa7f0739 in Token::exprId() const lib/token.h:884
    #1 0x57edaa7f0739 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:523
    danmar#2 0x57edaa7f0e77 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:507
    danmar#3 0x57edaa7f2f44 in fillProgramMemoryFromConditions build/programmemory.cpp:550
    danmar#4 0x57edaa7f7e18 in fillProgramMemoryFromConditions build/programmemory.cpp:556
    danmar#5 0x57edaa7f7e18 in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value> > > const&) build/programmemory.cpp:671
    danmar#6 0x57eda9b5575a in ValueFlowAnalyzer::updateState(Token const*) build/valueflow.cpp:4718
    danmar#7 0x57edaa62ee68 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) build/forwardanalyzer.cpp:1174
    danmar#8 0x57eda9a127cc in valueFlowForward build/valueflow.cpp:3791
    danmar#9 0x57eda9a29d40 in valueFlowSymbolic build/valueflow.cpp:7185
    danmar#10 0x57eda9b53bbb in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11100
    danmar#11 0x57eda99db80b in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}::operator()(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11057
    danmar#12 0x57eda99db80b in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/include/c++/13.2.1/bits/predefined_ops.h:318
    danmar#13 0x57eda99db80b in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>, std::random_access_iterator_tag) /usr/include/c++/13.2.1/bits/stl_algobase.h:2080
    danmar#14 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>) /usr/include/c++/13.2.1/bits/stl_algobase.h:2117
    danmar#15 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:3923
    danmar#16 0x57eda9a456ad in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:477
    danmar#17 0x57eda9a456ad in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:496
    danmar#18 0x57eda9a456ad in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const build/valueflow.cpp:11056
    danmar#19 0x57eda9a456ad in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) build/valueflow.cpp:11226
    danmar#20 0x57eda9de4bf7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/tokenize.cpp:10711
    danmar#21 0x57edaa593646 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream*) build/cppcheck.cpp:909
    danmar#22 0x57edaa5979c2 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/cppcheck.cpp:555
    danmar#23 0x57edaaa60c73 in SingleExecutor::check() cli/singleexecutor.cpp:53
    danmar#24 0x57edaaa28191 in CppCheckExecutor::check_internal(CppCheck&) const cli/cppcheckexecutor.cpp:275
    danmar#25 0x57edaaa33f7d in CppCheckExecutor::check_wrapper(CppCheck&) cli/cppcheckexecutor.cpp:217
    danmar#26 0x57edaaa33f7d in CppCheckExecutor::check(int, char const* const*) cli/cppcheckexecutor.cpp:201
    danmar#27 0x57eda9928926 in main cli/main.cpp:91
    danmar#28 0x7ca98f643ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#29 0x7ca98f643d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#30 0x57eda9929344 in _start (/home/user/CLionProjects/cppcheck-rider/cppcheck+0x1f9344) (BuildId: f47a6a1e6b1bf052078202ec15cb5a1444d5c459)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 21, 2024
…2438c73cec66f6b972b`

==58998==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x57edaa7f0739 bp 0x7ca98cedfa40 sp 0x7ffc632b1e20 T0)
==58998==The signal is caused by a READ memory access.
==58998==Hint: address points to the zero page.
    #0 0x57edaa7f0739 in Token::exprId() const lib/token.h:884
    #1 0x57edaa7f0739 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:523
    danmar#2 0x57edaa7f0e77 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:507
    danmar#3 0x57edaa7f2f44 in fillProgramMemoryFromConditions build/programmemory.cpp:550
    danmar#4 0x57edaa7f7e18 in fillProgramMemoryFromConditions build/programmemory.cpp:556
    danmar#5 0x57edaa7f7e18 in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value> > > const&) build/programmemory.cpp:671
    danmar#6 0x57eda9b5575a in ValueFlowAnalyzer::updateState(Token const*) build/valueflow.cpp:4718
    danmar#7 0x57edaa62ee68 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) build/forwardanalyzer.cpp:1174
    danmar#8 0x57eda9a127cc in valueFlowForward build/valueflow.cpp:3791
    danmar#9 0x57eda9a29d40 in valueFlowSymbolic build/valueflow.cpp:7185
    danmar#10 0x57eda9b53bbb in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11100
    danmar#11 0x57eda99db80b in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}::operator()(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11057
    danmar#12 0x57eda99db80b in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/include/c++/13.2.1/bits/predefined_ops.h:318
    danmar#13 0x57eda99db80b in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>, std::random_access_iterator_tag) /usr/include/c++/13.2.1/bits/stl_algobase.h:2080
    danmar#14 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>) /usr/include/c++/13.2.1/bits/stl_algobase.h:2117
    danmar#15 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:3923
    danmar#16 0x57eda9a456ad in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:477
    danmar#17 0x57eda9a456ad in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:496
    danmar#18 0x57eda9a456ad in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const build/valueflow.cpp:11056
    danmar#19 0x57eda9a456ad in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) build/valueflow.cpp:11226
    danmar#20 0x57eda9de4bf7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/tokenize.cpp:10711
    danmar#21 0x57edaa593646 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream*) build/cppcheck.cpp:909
    danmar#22 0x57edaa5979c2 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/cppcheck.cpp:555
    danmar#23 0x57edaaa60c73 in SingleExecutor::check() cli/singleexecutor.cpp:53
    danmar#24 0x57edaaa28191 in CppCheckExecutor::check_internal(CppCheck&) const cli/cppcheckexecutor.cpp:275
    danmar#25 0x57edaaa33f7d in CppCheckExecutor::check_wrapper(CppCheck&) cli/cppcheckexecutor.cpp:217
    danmar#26 0x57edaaa33f7d in CppCheckExecutor::check(int, char const* const*) cli/cppcheckexecutor.cpp:201
    danmar#27 0x57eda9928926 in main cli/main.cpp:91
    danmar#28 0x7ca98f643ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#29 0x7ca98f643d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#30 0x57eda9929344 in _start (/home/user/CLionProjects/cppcheck-rider/cppcheck+0x1f9344) (BuildId: f47a6a1e6b1bf052078202ec15cb5a1444d5c459)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
==77069==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x5818456d58e8 bp 0x7ffefda33930 sp 0x7ffefda32ec0 T0)
==77069==The signal is caused by a READ memory access.
==77069==Hint: address points to the zero page.
    #0 0x5818456d58e8 in _M_data /sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/basic_string.h:223:28
    #1 0x5818456d58e8 in c_str /sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/basic_string.h:2584:16
    danmar#2 0x5818456d58e8 in operator==<2U> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/matchcompiler.h:57:29
    danmar#3 0x5818456d58e8 in operator!=<2U> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/matchcompiler.h:63:17
    danmar#4 0x5818456d58e8 in Tokenizer::simplifyTypedefCpp() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:9257:63
    danmar#5 0x5818456b6a4e in Tokenizer::simplifyTypedef() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:8440:5
    danmar#6 0x581845728947 in Tokenizer::simplifyTokenList1(char const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:12966:9
    danmar#7 0x581845721160 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10670:14
    danmar#8 0x5818460d580d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:907:32
    danmar#9 0x5818460e19f1 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#10 0x58184655ea64 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#11 0x5818452261e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#12 0x5818452268e6 in fuzzer::Fuzzer::MinimizeCrashLoop(std::vector<unsigned char, std::allocator<unsigned char>> const&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6838e6) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#13 0x5818451fcb0b in fuzzer::MinimizeCrashInputInternalStep(fuzzer::Fuzzer*, fuzzer::InputCorpus*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x659b0b) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#14 0x581845209218 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666218) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#15 0x58184518ef77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#16 0x7cd168c43ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#17 0x7cd168c43d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#18 0x5818451f3004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
…2438c73cec66f6b972b`

==58998==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x57edaa7f0739 bp 0x7ca98cedfa40 sp 0x7ffc632b1e20 T0)
==58998==The signal is caused by a READ memory access.
==58998==Hint: address points to the zero page.
    #0 0x57edaa7f0739 in Token::exprId() const lib/token.h:884
    #1 0x57edaa7f0739 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:523
    danmar#2 0x57edaa7f0e77 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:507
    danmar#3 0x57edaa7f2f44 in fillProgramMemoryFromConditions build/programmemory.cpp:550
    danmar#4 0x57edaa7f7e18 in fillProgramMemoryFromConditions build/programmemory.cpp:556
    danmar#5 0x57edaa7f7e18 in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value> > > const&) build/programmemory.cpp:671
    danmar#6 0x57eda9b5575a in ValueFlowAnalyzer::updateState(Token const*) build/valueflow.cpp:4718
    danmar#7 0x57edaa62ee68 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) build/forwardanalyzer.cpp:1174
    danmar#8 0x57eda9a127cc in valueFlowForward build/valueflow.cpp:3791
    danmar#9 0x57eda9a29d40 in valueFlowSymbolic build/valueflow.cpp:7185
    danmar#10 0x57eda9b53bbb in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11100
    danmar#11 0x57eda99db80b in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}::operator()(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11057
    danmar#12 0x57eda99db80b in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/include/c++/13.2.1/bits/predefined_ops.h:318
    danmar#13 0x57eda99db80b in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>, std::random_access_iterator_tag) /usr/include/c++/13.2.1/bits/stl_algobase.h:2080
    danmar#14 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>) /usr/include/c++/13.2.1/bits/stl_algobase.h:2117
    danmar#15 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:3923
    danmar#16 0x57eda9a456ad in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:477
    danmar#17 0x57eda9a456ad in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:496
    danmar#18 0x57eda9a456ad in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const build/valueflow.cpp:11056
    danmar#19 0x57eda9a456ad in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) build/valueflow.cpp:11226
    danmar#20 0x57eda9de4bf7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/tokenize.cpp:10711
    danmar#21 0x57edaa593646 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream*) build/cppcheck.cpp:909
    danmar#22 0x57edaa5979c2 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/cppcheck.cpp:555
    danmar#23 0x57edaaa60c73 in SingleExecutor::check() cli/singleexecutor.cpp:53
    danmar#24 0x57edaaa28191 in CppCheckExecutor::check_internal(CppCheck&) const cli/cppcheckexecutor.cpp:275
    danmar#25 0x57edaaa33f7d in CppCheckExecutor::check_wrapper(CppCheck&) cli/cppcheckexecutor.cpp:217
    danmar#26 0x57edaaa33f7d in CppCheckExecutor::check(int, char const* const*) cli/cppcheckexecutor.cpp:201
    danmar#27 0x57eda9928926 in main cli/main.cpp:91
    danmar#28 0x7ca98f643ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#29 0x7ca98f643d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#30 0x57eda9929344 in _start (/home/user/CLionProjects/cppcheck-rider/cppcheck+0x1f9344) (BuildId: f47a6a1e6b1bf052078202ec15cb5a1444d5c459)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
==259642== ERROR: libFuzzer: timeout after 1537 seconds
    #0 0x55762d55826f in __sanitizer_print_stack_trace (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x69126f) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    #1 0x55762d45b3a5 in fuzzer::PrintStackTrace() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5943a5) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#2 0x55762d43a2b2 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5732b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#3 0x7fecb8d6f70f  (/usr/lib/libc.so.6+0x3e70f) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#4 0x55762d458f29 in __sanitizer_cov_trace_const_cmp1 (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x591f29) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#5 0x55762dfbf594 in multiCompareImpl(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:641:31
    danmar#6 0x55762dfbf594 in Token::Match(Token const*, char const*, int) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.cpp:787:29
    danmar#7 0x55762dc05470 in getUnsafeFunction[abi:cxx11](Tokenizer const*, Settings const*, Scope const*, int, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:446:13
    danmar#8 0x55762dc05470 in CTU::getUnsafeUsage[abi:cxx11](Tokenizer const*, Settings const*, bool (*)(Settings const*, Token const*, long long*)) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/ctu.cpp:485:71
    danmar#9 0x55762d724f68 in CheckBufferOverrun::getFileInfo(Tokenizer const*, Settings const*) const /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/checkbufferoverrun.cpp:952:34
    danmar#10 0x55762db6b343 in CppCheck::checkNormalTokens(Tokenizer const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:1136:57
    danmar#11 0x55762db7ec5d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:936:17
    danmar#12 0x55762db8a521 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/cppcheck.cpp:558:12
    danmar#13 0x55762d593d03 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:45:18
    danmar#14 0x55762d43a538 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x573538) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#15 0x55762d43b210 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x574210) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#16 0x55762d43c2a1 in fuzzer::Fuzzer::MutateAndTestOne() (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5752a1) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#17 0x55762d43d0c7 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5760c7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#18 0x55762d41d5b2 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5565b2) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#19 0x55762d3a1fa7 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x4dafa7) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
    danmar#20 0x7fecb8d58ccf  (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#21 0x7fecb8d58d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
    danmar#22 0x55762d407354 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x540354) (BuildId: 2562fad265b6bfd58db51b519e5f777c259c8898)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
…2438c73cec66f6b972b`

==58998==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000050 (pc 0x57edaa7f0739 bp 0x7ca98cedfa40 sp 0x7ffc632b1e20 T0)
==58998==The signal is caused by a READ memory access.
==58998==Hint: address points to the zero page.
    #0 0x57edaa7f0739 in Token::exprId() const lib/token.h:884
    #1 0x57edaa7f0739 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:523
    danmar#2 0x57edaa7f0e77 in programMemoryParseCondition(ProgramMemory&, Token const*, Token const*, Settings const*, bool) build/programmemory.cpp:507
    danmar#3 0x57edaa7f2f44 in fillProgramMemoryFromConditions build/programmemory.cpp:550
    danmar#4 0x57edaa7f7e18 in fillProgramMemoryFromConditions build/programmemory.cpp:556
    danmar#5 0x57edaa7f7e18 in ProgramMemoryState::addState(Token const*, std::unordered_map<ExprIdToken, ValueFlow::Value, ExprIdToken::Hash, std::equal_to<ExprIdToken>, std::allocator<std::pair<ExprIdToken const, ValueFlow::Value> > > const&) build/programmemory.cpp:671
    danmar#6 0x57eda9b5575a in ValueFlowAnalyzer::updateState(Token const*) build/valueflow.cpp:4718
    danmar#7 0x57edaa62ee68 in valueFlowGenericForward(Token*, Token const*, ValuePtr<Analyzer> const&, TokenList const&, ErrorLogger*, Settings const&) build/forwardanalyzer.cpp:1174
    danmar#8 0x57eda9a127cc in valueFlowForward build/valueflow.cpp:3791
    danmar#9 0x57eda9a29d40 in valueFlowSymbolic build/valueflow.cpp:7185
    danmar#10 0x57eda9b53bbb in ValueFlowPassRunner::run(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11100
    danmar#11 0x57eda99db80b in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}::operator()(ValuePtr<ValueFlowPass> const&) const build/valueflow.cpp:11057
    danmar#12 0x57eda99db80b in bool __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>::operator()<ValuePtr<ValueFlowPass> const*>(ValuePtr<ValueFlowPass> const*) /usr/include/c++/13.2.1/bits/predefined_ops.h:318
    danmar#13 0x57eda99db80b in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>, std::random_access_iterator_tag) /usr/include/c++/13.2.1/bits/stl_algobase.h:2080
    danmar#14 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::__find_if<ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}> >(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, __gnu_cxx::__ops::_Iter_pred<ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>) /usr/include/c++/13.2.1/bits/stl_algobase.h:2117
    danmar#15 0x57eda9a456ad in ValuePtr<ValueFlowPass> const* std::find_if<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:3923
    danmar#16 0x57eda9a456ad in bool std::none_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:477
    danmar#17 0x57eda9a456ad in bool std::any_of<ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}>(ValuePtr<ValueFlowPass> const*, ValuePtr<ValueFlowPass> const*, ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const::{lambda(ValuePtr<ValueFlowPass> const&)#1}) /usr/include/c++/13.2.1/bits/stl_algo.h:496
    danmar#18 0x57eda9a456ad in ValueFlowPassRunner::run_once(std::initializer_list<ValuePtr<ValueFlowPass> >) const build/valueflow.cpp:11056
    danmar#19 0x57eda9a456ad in ValueFlow::setValues(TokenList&, SymbolDatabase&, ErrorLogger*, Settings const&, TimerResultsIntf*) build/valueflow.cpp:11226
    danmar#20 0x57eda9de4bf7 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/tokenize.cpp:10711
    danmar#21 0x57edaa593646 in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::istream*) build/cppcheck.cpp:909
    danmar#22 0x57edaa5979c2 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) build/cppcheck.cpp:555
    danmar#23 0x57edaaa60c73 in SingleExecutor::check() cli/singleexecutor.cpp:53
    danmar#24 0x57edaaa28191 in CppCheckExecutor::check_internal(CppCheck&) const cli/cppcheckexecutor.cpp:275
    danmar#25 0x57edaaa33f7d in CppCheckExecutor::check_wrapper(CppCheck&) cli/cppcheckexecutor.cpp:217
    danmar#26 0x57edaaa33f7d in CppCheckExecutor::check(int, char const* const*) cli/cppcheckexecutor.cpp:201
    danmar#27 0x57eda9928926 in main cli/main.cpp:91
    danmar#28 0x7ca98f643ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#29 0x7ca98f643d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#30 0x57eda9929344 in _start (/home/user/CLionProjects/cppcheck-rider/cppcheck+0x1f9344) (BuildId: f47a6a1e6b1bf052078202ec15cb5a1444d5c459)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
==77069==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x5818456d58e8 bp 0x7ffefda33930 sp 0x7ffefda32ec0 T0)
==77069==The signal is caused by a READ memory access.
==77069==Hint: address points to the zero page.
    #0 0x5818456d58e8 in _M_data /sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/basic_string.h:223:28
    #1 0x5818456d58e8 in c_str /sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/basic_string.h:2584:16
    danmar#2 0x5818456d58e8 in operator==<2U> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/matchcompiler.h:57:29
    danmar#3 0x5818456d58e8 in operator!=<2U> /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/matchcompiler.h:63:17
    danmar#4 0x5818456d58e8 in Tokenizer::simplifyTypedefCpp() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:9257:63
    danmar#5 0x5818456b6a4e in Tokenizer::simplifyTypedef() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:8440:5
    danmar#6 0x581845728947 in Tokenizer::simplifyTokenList1(char const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:12966:9
    danmar#7 0x581845721160 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10670:14
    danmar#8 0x5818460d580d in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:907:32
    danmar#9 0x5818460e19f1 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#10 0x58184655ea64 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#11 0x5818452261e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#12 0x5818452268e6 in fuzzer::Fuzzer::MinimizeCrashLoop(std::vector<unsigned char, std::allocator<unsigned char>> const&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6838e6) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#13 0x5818451fcb0b in fuzzer::MinimizeCrashInputInternalStep(fuzzer::Fuzzer*, fuzzer::InputCorpus*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x659b0b) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#14 0x581845209218 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666218) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#15 0x58184518ef77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
    danmar#16 0x7cd168c43ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#17 0x7cd168c43d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#18 0x5818451f3004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: e178119f6c3ed0061522391da23885513ce32cf8)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
==149528==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x5d6ad25b3594 bp 0x7fffe27af570 sp 0x7fffe27af460 T0)
==149528==The signal is caused by a READ memory access.
==149528==Hint: address points to the zero page.
    #0 0x5d6ad25b3594 in next /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:831:16
    #1 0x5d6ad25b3594 in Tokenizer::simplifyNamespaceAliases() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17826:40
    danmar#2 0x5d6ad24f6ac2 in Tokenizer::simplifyTokenList1(char const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:12822:5
    danmar#3 0x5d6ad24f1190 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10670:14
    danmar#4 0x5d6ad2ea58cd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:907:32
    danmar#5 0x5d6ad2eb1ab1 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#6 0x5d6ad332eb24 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#7 0x5d6ad1ff61e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#8 0x5d6ad1ff68e6 in fuzzer::Fuzzer::MinimizeCrashLoop(std::vector<unsigned char, std::allocator<unsigned char>> const&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6838e6) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#9 0x5d6ad1fccb0b in fuzzer::MinimizeCrashInputInternalStep(fuzzer::Fuzzer*, fuzzer::InputCorpus*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x659b0b) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#10 0x5d6ad1fd9218 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666218) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#11 0x5d6ad1f5ef77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#12 0x7bb3d5955ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#13 0x7bb3d5955d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#14 0x5d6ad1fc3004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
firewave added a commit to firewave/cppcheck that referenced this pull request Feb 22, 2024
==149528==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x5d6ad25b3594 bp 0x7fffe27af570 sp 0x7fffe27af460 T0)
==149528==The signal is caused by a READ memory access.
==149528==Hint: address points to the zero page.
    #0 0x5d6ad25b3594 in next /home/user/CLionProjects/cppcheck-rider/oss-fuzz/../lib/token.h:831:16
    #1 0x5d6ad25b3594 in Tokenizer::simplifyNamespaceAliases() /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:17826:40
    danmar#2 0x5d6ad24f6ac2 in Tokenizer::simplifyTokenList1(char const*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:12822:5
    danmar#3 0x5d6ad24f1190 in Tokenizer::simplifyTokens1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/tokenize.cpp:10670:14
    danmar#4 0x5d6ad2ea58cd in CppCheck::checkFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::istream*) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:907:32
    danmar#5 0x5d6ad2eb1ab1 in CppCheck::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) /home/user/CLionProjects/cppcheck-rider/oss-fuzz/build/cppcheck.cpp:561:12
    danmar#6 0x5d6ad332eb24 in LLVMFuzzerTestOneInput /home/user/CLionProjects/cppcheck-rider/oss-fuzz/main.cpp:47:18
    danmar#7 0x5d6ad1ff61e8 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6831e8) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#8 0x5d6ad1ff68e6 in fuzzer::Fuzzer::MinimizeCrashLoop(std::vector<unsigned char, std::allocator<unsigned char>> const&) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x6838e6) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#9 0x5d6ad1fccb0b in fuzzer::MinimizeCrashInputInternalStep(fuzzer::Fuzzer*, fuzzer::InputCorpus*) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x659b0b) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#10 0x5d6ad1fd9218 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x666218) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#11 0x5d6ad1f5ef77 in main (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x5ebf77) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
    danmar#12 0x7bb3d5955ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#13 0x7bb3d5955d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    danmar#14 0x5d6ad1fc3004 in _start (/home/user/CLionProjects/cppcheck-rider/oss-fuzz/oss-fuzz-client+0x650004) (BuildId: ccbc3e894f14691449044410c9da42fa3a09557b)
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant