Task #4095 - units-2.22-6.fc39/scan-results.js

back to task #4095
download
{
    "scan": {
        "analyzer-version-cppcheck": "2.14.2",
        "analyzer-version-gcc": "13.3.1",
        "analyzer-version-gcc-analyzer": "13.3.1",
        "analyzer-version-shellcheck": "0.9.0",
        "analyzer-version-unicontrol": "0.0.2",
        "enabled-plugins": "cppcheck, gcc, shellcheck, unicontrol",
        "exit-code": 0,
        "host": "ip-172-16-1-40.us-west-2.compute.internal",
        "mock-config": "fedora-39-x86_64",
        "project-name": "units-2.22-6.fc39",
        "store-results-to": "/tmp/tmp3eammb4v/units-2.22-6.fc39.tar.xz",
        "time-created": "2024-08-08 13:02:20",
        "time-finished": "2024-08-08 13:05:06",
        "tool": "csmock",
        "tool-args": "'/usr/bin/csmock' '-r' 'fedora-39-x86_64' '-t' 'gcc,shellcheck,unicontrol,cppcheck' '-o' '/tmp/tmp3eammb4v/units-2.22-6.fc39.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '/tmp/tmp3eammb4v/units-2.22-6.fc39.src.rpm'",
        "tool-version": "csmock-3.6.1-1.el9"
    },
    "defects": [
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 457,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "373f787a1bebe3b8205dee65f4aa92c5ba9c7e5c",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘unitsparse’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 600,
                    "column": 7,
                    "event": "warning[-Wanalyzer-use-of-uninitialized-value]",
                    "message": "use of uninitialized value ‘yyss’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 585,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYCOPY’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1445,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYSTACK_RELOCATE’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.y",
                    "line": 522,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘parseunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 68,
                    "column": 25,
                    "event": "note",
                    "message": "(2) calling ‘unitsparse’ from ‘parseunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.y",
                    "line": 534,
                    "column": 7,
                    "event": "note",
                    "message": "in expansion of macro ‘yyparse’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 68,
                    "column": 25,
                    "event": "note",
                    "message": "(3) entry to ‘unitsparse’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1312,
                    "column": 1,
                    "event": "note",
                    "message": "in expansion of macro ‘yyparse’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1339,
                    "column": 16,
                    "event": "note",
                    "message": "(4) region created on stack here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1339,
                    "column": 16,
                    "event": "note",
                    "message": "(5) capacity: 200 bytes",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1403,
                    "column": 6,
                    "event": "note",
                    "message": "(6) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1409,
                    "column": 34,
                    "event": "note",
                    "message": "(7) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1432,
                    "column": 10,
                    "event": "note",
                    "message": "(8) following ‘false’ branch (when ‘yystacksize <= 9999’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1434,
                    "column": 19,
                    "event": "note",
                    "message": "(9) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1443,
                    "column": 12,
                    "event": "note",
                    "message": "(10) following ‘false’ branch (when ‘yyptr’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 600,
                    "column": 7,
                    "event": "note",
                    "message": "(11) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 585,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYCOPY’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1445,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYSTACK_RELOCATE’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 600,
                    "column": 7,
                    "event": "note",
                    "message": "(12) use of uninitialized value ‘yyss’ here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 585,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYCOPY’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/parse.tab.c",
                    "line": 1445,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘YYSTACK_RELOCATE’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  598|   #  if defined __GNUC__ && 1 < __GNUC__",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  599|   #   define YYCOPY(Dst, Src, Count) \\",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  600|->       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  601|   #  else",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  602|   #   define YYCOPY(Dst, Src, Count)              \\",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 401,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "b894a1bc21c104fa4339f2ee04d4fba064e65c94",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘growbuffer’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 10,
                    "event": "warning[-Wanalyzer-malloc-leak]",
                    "message": "leak of ‘buffer’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2920,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2926,
                    "column": 8,
                    "event": "note",
                    "message": "(2) following ‘true’ branch (when ‘inverse != 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(3) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(4) calling ‘showfunction’ from ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2825,
                    "column": 1,
                    "event": "note",
                    "message": "(5) entry to ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2830,
                    "column": 6,
                    "event": "note",
                    "message": "(6) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 11,
                    "event": "note",
                    "message": "(7) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 6,
                    "event": "note",
                    "message": "(8) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2836,
                    "column": 5,
                    "event": "note",
                    "message": "(9) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2837,
                    "column": 25,
                    "event": "note",
                    "message": "(10) calling ‘unit2num’ from ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2459,
                    "column": 1,
                    "event": "note",
                    "message": "(11) entry to ‘unit2num’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2465,
                    "column": 12,
                    "event": "note",
                    "message": "(12) calling ‘completereduce’ from ‘unit2num’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2399,
                    "column": 1,
                    "event": "note",
                    "message": "(13) entry to ‘completereduce’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2403,
                    "column": 13,
                    "event": "note",
                    "message": "(14) calling ‘reduceunit’ from ‘completereduce’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2289,
                    "column": 1,
                    "event": "note",
                    "message": "(15) entry to ‘reduceunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2300,
                    "column": 11,
                    "event": "note",
                    "message": "(16) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2301,
                    "column": 13,
                    "event": "note",
                    "message": "(17) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2301,
                    "column": 13,
                    "event": "note",
                    "message": "(18) calling ‘reduceproduct’ from ‘reduceunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2220,
                    "column": 1,
                    "event": "note",
                    "message": "(19) entry to ‘reduceproduct’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2229,
                    "column": 7,
                    "event": "note",
                    "message": "(20) following ‘false’ branch (when ‘flip == 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2232,
                    "column": 15,
                    "event": "note",
                    "message": "(21) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2234,
                    "column": 11,
                    "event": "note",
                    "message": "(22) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(23) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2236,
                    "column": 13,
                    "event": "note",
                    "message": "(24) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2238,
                    "column": 18,
                    "event": "note",
                    "message": "(25) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2238,
                    "column": 18,
                    "event": "note",
                    "message": "(26) calling ‘lookupunit’ from ‘reduceproduct’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(27) entry to ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(28) calling ‘ulookup’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 658,
                    "column": 1,
                    "event": "note",
                    "message": "(29) entry to ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 662,
                    "column": 21,
                    "event": "note",
                    "message": "(30) calling ‘uhash’ from ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 644,
                    "column": 1,
                    "event": "note",
                    "message": "(31) entry to ‘uhash’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 648,
                    "column": 22,
                    "event": "note",
                    "message": "(32) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 649,
                    "column": 17,
                    "event": "note",
                    "message": "(33) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 662,
                    "column": 21,
                    "event": "note",
                    "message": "(34) returning to ‘ulookup’ from ‘uhash’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(35) returning to ‘lookupunit’ from ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 7,
                    "event": "note",
                    "message": "(36) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(37) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(38) calling ‘lookupunit.part.0’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(39) entry to ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 7,
                    "event": "note",
                    "message": "(40) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(41) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(42) calling ‘dupstr’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 582,
                    "column": 1,
                    "event": "note",
                    "message": "(43) entry to ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(44) calling ‘mymalloc’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(45) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(46) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(47) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(48) returning to ‘dupstr’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(49) returning to ‘lookupunit.part.0’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2073,
                    "column": 11,
                    "event": "note",
                    "message": "(50) calling ‘lookupunit’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(51) entry to ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 7,
                    "event": "note",
                    "message": "(52) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(53) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(54) calling ‘lookupunit.part.0’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(55) entry to ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 8,
                    "event": "note",
                    "message": "(56) calling ‘strwidth’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 615,
                    "column": 1,
                    "event": "note",
                    "message": "(57) entry to ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 620,
                    "column": 6,
                    "event": "note",
                    "message": "(58) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 622,
                    "column": 9,
                    "event": "note",
                    "message": "(59) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 623,
                    "column": 13,
                    "event": "note",
                    "message": "(60) calling ‘mymalloc’ from ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(61) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 570,
                    "column": 14,
                    "event": "note",
                    "message": "(62) allocated here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(63) assuming ‘pointer’ is non-NULL",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(64) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(65) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 623,
                    "column": 13,
                    "event": "note",
                    "message": "(66) returning to ‘strwidth’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 626,
                    "column": 6,
                    "event": "note",
                    "message": "(67) following ‘true’ branch (when ‘len == -1’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 627,
                    "column": 5,
                    "event": "note",
                    "message": "(68) ...to here (69) state of ‘&HEAP_ALLOCATED_REGION(2087)’: ‘start’ -> ‘freed’ (NULL origin)",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 8,
                    "event": "note",
                    "message": "(70) returning to ‘lookupunit.part.0’ from ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 7,
                    "event": "note",
                    "message": "(71) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 7,
                    "event": "note",
                    "message": "(72) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 7,
                    "event": "note",
                    "message": "(73) following ‘true’ branch (when ‘prefixok != 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 30,
                    "event": "note",
                    "message": "(74) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 30,
                    "event": "note",
                    "message": "(75) calling ‘plookup’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 673,
                    "column": 1,
                    "event": "note",
                    "message": "(76) entry to ‘plookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 679,
                    "column": 41,
                    "event": "note",
                    "message": "(77) following ‘true’ branch (when ‘prefix’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 680,
                    "column": 16,
                    "event": "note",
                    "message": "(78) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 30,
                    "event": "note",
                    "message": "(79) returning to ‘lookupunit.part.0’ from ‘plookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2105,
                    "column": 17,
                    "event": "note",
                    "message": "(80) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2106,
                    "column": 27,
                    "event": "note",
                    "message": "(81) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2109,
                    "column": 54,
                    "event": "note",
                    "message": "(82) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2110,
                    "column": 13,
                    "event": "note",
                    "message": "(83) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2110,
                    "column": 13,
                    "event": "note",
                    "message": "(84) calling ‘growbuffer’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 379,
                    "column": 1,
                    "event": "note",
                    "message": "(85) entry to ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 385,
                    "column": 6,
                    "event": "note",
                    "message": "(86) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 12,
                    "event": "note",
                    "message": "(87) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 12,
                    "event": "note",
                    "message": "(88) allocated here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 389,
                    "column": 6,
                    "event": "note",
                    "message": "(89) assuming ‘buffer’ is non-NULL",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 389,
                    "column": 6,
                    "event": "note",
                    "message": "(90) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 393,
                    "column": 1,
                    "event": "note",
                    "message": "(91) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2110,
                    "column": 13,
                    "event": "note",
                    "message": "(92) returning to ‘lookupunit.part.0’ from ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2109,
                    "column": 54,
                    "event": "note",
                    "message": "(93) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2110,
                    "column": 13,
                    "event": "note",
                    "message": "(94) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2110,
                    "column": 13,
                    "event": "note",
                    "message": "(95) calling ‘growbuffer’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 379,
                    "column": 1,
                    "event": "note",
                    "message": "(96) entry to ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 383,
                    "column": 21,
                    "event": "note",
                    "message": "(97) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 383,
                    "column": 25,
                    "event": "note",
                    "message": "(98) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 385,
                    "column": 6,
                    "event": "note",
                    "message": "(99) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 12,
                    "event": "note",
                    "message": "(100) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 10,
                    "event": "note",
                    "message": "(101) ‘buffer’ leaks here; was allocated at (88)",
                    "verbosity_level": 2
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  384|     *bufsize += BUFGROW;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  385|     if (usemalloc)",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  386|->     *buf = malloc(*bufsize);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  387|     else",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  388|       *buf = realloc(*buf,*bufsize);",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 401,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "70ad2dcb85c1a6bd9b8c254bfa484cc349fcec90",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 388,
                    "column": 10,
                    "event": "warning[-Wanalyzer-malloc-leak]",
                    "message": "leak of ‘buffer’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2920,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2926,
                    "column": 8,
                    "event": "note",
                    "message": "(2) following ‘false’ branch (when ‘inverse == 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2929,
                    "column": 7,
                    "event": "note",
                    "message": "(3) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2929,
                    "column": 7,
                    "event": "note",
                    "message": "(4) calling ‘showfunction’ from ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2825,
                    "column": 1,
                    "event": "note",
                    "message": "(5) entry to ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2830,
                    "column": 6,
                    "event": "note",
                    "message": "(6) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 11,
                    "event": "note",
                    "message": "(7) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 6,
                    "event": "note",
                    "message": "(8) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2836,
                    "column": 5,
                    "event": "note",
                    "message": "(9) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2837,
                    "column": 25,
                    "event": "note",
                    "message": "(10) calling ‘unit2num’ from ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2459,
                    "column": 1,
                    "event": "note",
                    "message": "(11) entry to ‘unit2num’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2465,
                    "column": 12,
                    "event": "note",
                    "message": "(12) calling ‘completereduce’ from ‘unit2num’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2399,
                    "column": 1,
                    "event": "note",
                    "message": "(13) entry to ‘completereduce’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2403,
                    "column": 13,
                    "event": "note",
                    "message": "(14) calling ‘reduceunit’ from ‘completereduce’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2289,
                    "column": 1,
                    "event": "note",
                    "message": "(15) entry to ‘reduceunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2300,
                    "column": 11,
                    "event": "note",
                    "message": "(16) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2301,
                    "column": 13,
                    "event": "note",
                    "message": "(17) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2301,
                    "column": 13,
                    "event": "note",
                    "message": "(18) calling ‘reduceproduct’ from ‘reduceunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2220,
                    "column": 1,
                    "event": "note",
                    "message": "(19) entry to ‘reduceproduct’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2229,
                    "column": 7,
                    "event": "note",
                    "message": "(20) following ‘false’ branch (when ‘flip == 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2232,
                    "column": 15,
                    "event": "note",
                    "message": "(21) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2234,
                    "column": 11,
                    "event": "note",
                    "message": "(22) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(23) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2236,
                    "column": 13,
                    "event": "note",
                    "message": "(24) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2238,
                    "column": 18,
                    "event": "note",
                    "message": "(25) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2238,
                    "column": 18,
                    "event": "note",
                    "message": "(26) calling ‘lookupunit’ from ‘reduceproduct’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(27) entry to ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(28) calling ‘ulookup’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 658,
                    "column": 1,
                    "event": "note",
                    "message": "(29) entry to ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 662,
                    "column": 21,
                    "event": "note",
                    "message": "(30) calling ‘uhash’ from ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 644,
                    "column": 1,
                    "event": "note",
                    "message": "(31) entry to ‘uhash’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 648,
                    "column": 22,
                    "event": "note",
                    "message": "(32) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 649,
                    "column": 17,
                    "event": "note",
                    "message": "(33) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 662,
                    "column": 21,
                    "event": "note",
                    "message": "(34) returning to ‘ulookup’ from ‘uhash’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(35) returning to ‘lookupunit’ from ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 7,
                    "event": "note",
                    "message": "(36) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(37) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(38) calling ‘lookupunit.part.0’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(39) entry to ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 7,
                    "event": "note",
                    "message": "(40) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(41) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(42) calling ‘dupstr’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 582,
                    "column": 1,
                    "event": "note",
                    "message": "(43) entry to ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(44) calling ‘mymalloc’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(45) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(46) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(47) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(48) returning to ‘dupstr’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(49) returning to ‘lookupunit.part.0’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2073,
                    "column": 11,
                    "event": "note",
                    "message": "(50) calling ‘lookupunit’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(51) entry to ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 7,
                    "event": "note",
                    "message": "(52) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(53) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(54) calling ‘lookupunit.part.0’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(55) entry to ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 8,
                    "event": "note",
                    "message": "(56) calling ‘strwidth’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 615,
                    "column": 1,
                    "event": "note",
                    "message": "(57) entry to ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 620,
                    "column": 6,
                    "event": "note",
                    "message": "(58) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 622,
                    "column": 9,
                    "event": "note",
                    "message": "(59) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 623,
                    "column": 13,
                    "event": "note",
                    "message": "(60) calling ‘mymalloc’ from ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(61) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(62) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(63) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 623,
                    "column": 13,
                    "event": "note",
                    "message": "(64) returning to ‘strwidth’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 626,
                    "column": 6,
                    "event": "note",
                    "message": "(65) following ‘false’ branch (when ‘len != -1’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 631,
                    "column": 7,
                    "event": "note",
                    "message": "(66) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 8,
                    "event": "note",
                    "message": "(67) returning to ‘lookupunit.part.0’ from ‘strwidth’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2070,
                    "column": 7,
                    "event": "note",
                    "message": "(68) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(69) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(70) calling ‘dupstr’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 582,
                    "column": 1,
                    "event": "note",
                    "message": "(71) entry to ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(72) calling ‘mymalloc’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(73) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(74) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(75) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(76) returning to ‘dupstr’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2071,
                    "column": 14,
                    "event": "note",
                    "message": "(77) returning to ‘lookupunit.part.0’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2073,
                    "column": 11,
                    "event": "note",
                    "message": "(78) calling ‘lookupunit’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2061,
                    "column": 1,
                    "event": "note",
                    "message": "(79) entry to ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(80) calling ‘ulookup’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 658,
                    "column": 1,
                    "event": "note",
                    "message": "(81) entry to ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 662,
                    "column": 34,
                    "event": "note",
                    "message": "(82) following ‘true’ branch (when ‘uptr’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 663,
                    "column": 27,
                    "event": "note",
                    "message": "(83) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 16,
                    "event": "note",
                    "message": "(84) returning to ‘lookupunit’ from ‘ulookup’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2067,
                    "column": 7,
                    "event": "note",
                    "message": "(85) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2068,
                    "column": 18,
                    "event": "note",
                    "message": "(86) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2073,
                    "column": 11,
                    "event": "note",
                    "message": "(87) returning to ‘lookupunit.part.0’ from ‘lookupunit’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2073,
                    "column": 10,
                    "event": "note",
                    "message": "(88) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "cc1",
                    "line": 0,
                    "event": "note",
                    "message": "(89) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2074,
                    "column": 31,
                    "event": "note",
                    "message": "(90) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2075,
                    "column": 13,
                    "event": "note",
                    "message": "(91) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2075,
                    "column": 13,
                    "event": "note",
                    "message": "(92) calling ‘growbuffer’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 379,
                    "column": 1,
                    "event": "note",
                    "message": "(93) entry to ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 385,
                    "column": 6,
                    "event": "note",
                    "message": "(94) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 12,
                    "event": "note",
                    "message": "(95) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 386,
                    "column": 12,
                    "event": "note",
                    "message": "(96) allocated here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 389,
                    "column": 6,
                    "event": "note",
                    "message": "(97) assuming ‘buffer’ is non-NULL",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 389,
                    "column": 6,
                    "event": "note",
                    "message": "(98) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 393,
                    "column": 1,
                    "event": "note",
                    "message": "(99) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2075,
                    "column": 13,
                    "event": "note",
                    "message": "(100) returning to ‘lookupunit.part.0’ from ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2074,
                    "column": 31,
                    "event": "note",
                    "message": "(101) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2075,
                    "column": 13,
                    "event": "note",
                    "message": "(102) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2075,
                    "column": 13,
                    "event": "note",
                    "message": "(103) calling ‘growbuffer’ from ‘lookupunit.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 379,
                    "column": 1,
                    "event": "note",
                    "message": "(104) entry to ‘growbuffer’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 383,
                    "column": 21,
                    "event": "note",
                    "message": "(105) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 384,
                    "column": 3,
                    "event": "note",
                    "message": "(106) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 385,
                    "column": 6,
                    "event": "note",
                    "message": "(107) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 388,
                    "column": 12,
                    "event": "note",
                    "message": "(108) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 388,
                    "column": 12,
                    "event": "note",
                    "message": "(109) when ‘realloc’ fails",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 388,
                    "column": 10,
                    "event": "note",
                    "message": "(110) ‘buffer’ leaks here; was allocated at (96)",
                    "verbosity_level": 2
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  386|       *buf = malloc(*bufsize);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  387|     else",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  388|->     *buf = realloc(*buf,*bufsize);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  389|     if (!*buf){",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  390|       fprintf(stderr, \"%s: memory allocation error (growbuffer)\\n\",progname);  ",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 476,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "94b43208c3fbe7e4137f1d4341d3fa8d2e7843b0",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 624,
                    "event": "error[nullPointer]",
                    "message": "Null pointer dereference",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  622|     len = strlen(str)+1;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  623|     widestr = mymalloc(sizeof(wchar_t)*len, \"(strwidth)\");",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  624|->   len = mbsrtowcs(widestr, &str, len, NULL);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  625|   ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  626|     if (len==-1){",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "COMPILER_WARNING",
            "cwe": 563,
            "language": "c/c++",
            "tool": "gcc",
            "hash_v1": "84e43757440ee0e56c4a5b71491b54107cfeb091",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘readunits’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 807,
                    "column": 41,
                    "event": "warning[-Wunused-value]",
                    "message": "value computed is not used",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  807 | #define readerror (goterr=1) && errfile && fprintf",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |                                         ^~",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 1648,
                    "column": 9,
                    "event": "note",
                    "message": "in expansion of macro ‘readerror’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1648 |         readerror(errfile, \"%s: %s on line %d of '%s'\\n\",",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |         ^~~~~~~~~",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  805|   ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  806|   ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  807|-> #define readerror (goterr=1) && errfile && fprintf",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  808|   ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "  809|   #define VAGUE_ERR \"%s: error in units file '%s' line %d\\n\", \\",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 401,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "ededd6734b3cc276af3bb0695dd5a779daec21a7",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 1411,
                    "event": "error[memleakOnRealloc]",
                    "message": "Common realloc mistake: 'tab' nulled but not freed upon failure",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1409|       if (tabpt>=tablealloc){",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1410|         tablealloc+=20;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1411|->       tab = (struct pair *)realloc(tab,sizeof(struct pair)*tablealloc);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1412|         if (!tab){",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 1413|           if (errfile) fprintf(errfile, \"%s: memory allocation error (newtable)\\n\",",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 476,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "367970433c76d2156416098242b4a169f55fec3e",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2391,
                    "event": "error[ctunullpointer]",
                    "message": "Null pointer dereference: first",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2389|   {",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2390|      return",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2391|->       compareproducts(first->numerator, second->numerator, isdimless) ||",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2392|         compareproducts(first->denominator, second->denominator, isdimless);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2393|   }",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 457,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "c35f0fce428e61ef3bc2c7cd641d250e76b919a7",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘showfunction’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2847,
                    "column": 23,
                    "event": "warning[-Wanalyzer-use-of-uninitialized-value]",
                    "message": "use of uninitialized value ‘not_dimensionless’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2920,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2926,
                    "column": 8,
                    "event": "note",
                    "message": "(2) following ‘true’ branch (when ‘inverse != 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(3) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(4) calling ‘showfunction’ from ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2825,
                    "column": 1,
                    "event": "note",
                    "message": "(5) entry to ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2828,
                    "column": 7,
                    "event": "note",
                    "message": "(6) region created on stack here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2828,
                    "column": 7,
                    "event": "note",
                    "message": "(7) capacity: 4 bytes",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2830,
                    "column": 6,
                    "event": "note",
                    "message": "(8) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 11,
                    "event": "note",
                    "message": "(9) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 6,
                    "event": "note",
                    "message": "(10) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2840,
                    "column": 3,
                    "event": "note",
                    "message": "(11) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2845,
                    "column": 8,
                    "event": "note",
                    "message": "(12) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2846,
                    "column": 7,
                    "event": "note",
                    "message": "(13) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2847,
                    "column": 10,
                    "event": "note",
                    "message": "(14) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2847,
                    "column": 23,
                    "event": "note",
                    "message": "(15) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2847,
                    "column": 23,
                    "event": "note",
                    "message": "(16) use of uninitialized value ‘not_dimensionless’ here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2845|       if (func->domain_min && func->domain_max) {",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2846|         logprintf(num_format.format, *func->domain_min);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2847|->       if (func->dimen && (not_dimensionless || unit.factor != 1)){",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2848|           if (isdecimal(*func->dimen))",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2849|             logputs(\" *\");",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 457,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "b77f068e7cd3362bbb6b6154998c0846dc1c44b0",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2872,
                    "column": 8,
                    "event": "warning[-Wanalyzer-use-of-uninitialized-value]",
                    "message": "use of uninitialized value ‘not_dimensionless’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2920,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2926,
                    "column": 8,
                    "event": "note",
                    "message": "(2) following ‘true’ branch (when ‘inverse != 0’)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(3) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2927,
                    "column": 7,
                    "event": "note",
                    "message": "(4) calling ‘showfunction’ from ‘showfuncdefinition.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2825,
                    "column": 1,
                    "event": "note",
                    "message": "(5) entry to ‘showfunction’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2828,
                    "column": 7,
                    "event": "note",
                    "message": "(6) region created on stack here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2828,
                    "column": 7,
                    "event": "note",
                    "message": "(7) capacity: 4 bytes",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2830,
                    "column": 6,
                    "event": "note",
                    "message": "(8) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 11,
                    "event": "note",
                    "message": "(9) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2835,
                    "column": 6,
                    "event": "note",
                    "message": "(10) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2840,
                    "column": 3,
                    "event": "note",
                    "message": "(11) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2841,
                    "column": 6,
                    "event": "note",
                    "message": "(12) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2869,
                    "column": 18,
                    "event": "note",
                    "message": "(13) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2869,
                    "column": 13,
                    "event": "note",
                    "message": "(14) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2870,
                    "column": 5,
                    "event": "note",
                    "message": "(15) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2872,
                    "column": 8,
                    "event": "note",
                    "message": "(16) use of uninitialized value ‘not_dimensionless’ here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2870|       logputchar('\\n');",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2871|       for(i=strwidth(deftext);i;i--) logputchar(' ');",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2872|->     if (not_dimensionless) ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2873|         logprintf(\"%s has units %s\",func->param, func->dimen);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2874|       else",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "COMPILER_WARNING",
            "cwe": 457,
            "language": "c/c++",
            "tool": "gcc",
            "hash_v1": "3ef9be6d18b769e7f7b8084a1a21a17b083e09fd",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘showfunction’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2872,
                    "column": 8,
                    "event": "warning[-Wmaybe-uninitialized]",
                    "message": "‘not_dimensionless’ may be used uninitialized",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2872 |     if (not_dimensionless)",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |        ^",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 2828,
                    "column": 7,
                    "event": "note",
                    "message": "‘not_dimensionless’ was declared here",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2828 |   int not_dimensionless, i;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |       ^~~~~~~~~~~~~~~~~",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2870|       logputchar('\\n');",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2871|       for(i=strwidth(deftext);i;i--) logputchar(' ');",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2872|->     if (not_dimensionless) ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2873|         logprintf(\"%s has units %s\",func->param, func->dimen);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 2874|       else",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 457,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "35ec98bb3738568d3932727b0112e13a43005954",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 3698,
                    "event": "error[legacyUninitvar]",
                    "message": "Uninitialized variable: indent",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 3696|         if (errors[i]) {",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 3697|           lastchar(unittext) = '0'+i;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 3698|->         printf(\"%s%s(\",indent,infunc->name);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 3699|           printf(num_format.format, factor);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 3700|           printf(\"%s): %s\\n\", unittext, errormsg[errors[i]]);",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "COMPILER_WARNING",
            "cwe": 563,
            "language": "c/c++",
            "tool": "gcc",
            "hash_v1": "53eecb19f6e5510bc527e3f6562b4fdb7a46f7b4",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘checkcwd’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4148,
                    "column": 9,
                    "event": "warning[-Wunused-variable]",
                    "message": "unused variable ‘p’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4148 |   char *p;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |         ^",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4146|   {",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4147|     FILE *fp;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4148|->   char *p;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4149|   ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4150|     fp = openfile(file, \"r\");",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "GCC_ANALYZER_WARNING",
            "cwe": 401,
            "language": "c/c++",
            "tool": "gcc-analyzer",
            "hash_v1": "8e6528e78cdbdea511dbb81918fd212f9f41abbb",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘getprogdir’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4296,
                    "column": 10,
                    "event": "warning[-Wanalyzer-malloc-leak]",
                    "message": "leak of ‘progdir’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4762,
                    "column": 1,
                    "event": "note",
                    "message": "(1) entry to ‘printversion.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4784,
                    "column": 6,
                    "event": "note",
                    "message": "(2) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4785,
                    "column": 9,
                    "event": "note",
                    "message": "(3) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4785,
                    "column": 8,
                    "event": "note",
                    "message": "(4) following ‘true’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4786,
                    "column": 7,
                    "event": "note",
                    "message": "(5) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4786,
                    "column": 7,
                    "event": "note",
                    "message": "(6) calling ‘getprogdir’ from ‘printversion.part.0’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4201,
                    "column": 1,
                    "event": "note",
                    "message": "(7) entry to ‘getprogdir’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4219,
                    "column": 15,
                    "event": "note",
                    "message": "(8) calling ‘dupstr’ from ‘getprogdir’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 582,
                    "column": 1,
                    "event": "note",
                    "message": "(9) entry to ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(10) calling ‘mymalloc’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(11) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 570,
                    "column": 14,
                    "event": "note",
                    "message": "(12) allocated here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(13) assuming ‘pointer’ is non-NULL",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(14) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(15) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(16) returning to ‘dupstr’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4219,
                    "column": 15,
                    "event": "note",
                    "message": "(17) returning to ‘getprogdir’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4237,
                    "column": 6,
                    "event": "note",
                    "message": "(18) following ‘false’ branch...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4292,
                    "column": 19,
                    "event": "note",
                    "message": "(19) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4292,
                    "column": 19,
                    "event": "note",
                    "message": "(20) calling ‘dupstr’ from ‘getprogdir’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 582,
                    "column": 1,
                    "event": "note",
                    "message": "(21) entry to ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(22) calling ‘mymalloc’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 566,
                    "column": 1,
                    "event": "note",
                    "message": "(23) entry to ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 571,
                    "column": 7,
                    "event": "note",
                    "message": "(24) following ‘false’ branch (when ‘pointer’ is non-NULL)...",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 575,
                    "column": 11,
                    "event": "note",
                    "message": "(25) ...to here",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 586,
                    "column": 10,
                    "event": "note",
                    "message": "(26) returning to ‘dupstr’ from ‘mymalloc’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4292,
                    "column": 19,
                    "event": "note",
                    "message": "(27) returning to ‘getprogdir’ from ‘dupstr’",
                    "verbosity_level": 2
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4296,
                    "column": 10,
                    "event": "note",
                    "message": "(28) ‘progdir’ leaks here; was allocated at (12)",
                    "verbosity_level": 2
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4294|     *p = '\\0';  ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4295|    ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4296|->   return progdir; ",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4297|   }",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4298|   ",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 672,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "4dcc697b335eebef2dacb660c46ec045ad63e0fa",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4553,
                    "event": "error[deallocret]",
                    "message": "Returning/dereferencing 'file' after it is deallocated / released",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4551|     else {",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4552|       fclose(testfile);",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4553|->     return file;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4554|     }",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4555|   }",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "COMPILER_WARNING",
            "cwe": 563,
            "language": "c/c++",
            "tool": "gcc",
            "hash_v1": "8b937121b23374ba7bc4b0ad353fb3b093bc6e08",
            "key_event_idx": 1,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 0,
                    "event": "scope_hint",
                    "message": "In function ‘printversion’",
                    "verbosity_level": 1
                },
                {
                    "file_name": "units-2.22/units.c",
                    "line": 4768,
                    "column": 9,
                    "event": "warning[-Wunused-variable]",
                    "message": "unused variable ‘fp’",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4768 |   FILE *fp, *histfile;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": "      |         ^~",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4766|     char *m_unitsfile;         /* personal units data file from HOME_UNITS_ENV */",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4767|     char *p_unitsfile;         /* personal units data file */",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4768|->   FILE *fp, *histfile;",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4769|   #ifdef _WIN32",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 4770|     char *localemap;",
                    "verbosity_level": 1
                }
            ]
        },
        {
            "checker": "CPPCHECK_WARNING",
            "cwe": 476,
            "language": "c/c++",
            "tool": "cppcheck",
            "hash_v1": "67ef928a3c00e1c1556d7a8d657b64fc4daf4558",
            "key_event_idx": 0,
            "events": [
                {
                    "file_name": "units-2.22/units.c",
                    "line": 5577,
                    "event": "warning[nullPointer]",
                    "message": "Possible null pointer dereference: lastunitstr",
                    "verbosity_level": 0
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 5575|     if (!value_shown) {  /* provide output if every value rounded to zero */",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 5576|       logputs(\"0 \");",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 5577|->     if (isdecimal(*lastunitstr))",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 5578|         logputs(\"* \");",
                    "verbosity_level": 1
                },
                {
                    "file_name": "",
                    "line": 0,
                    "event": "#",
                    "message": " 5579|       logputs(lastunitstr);",
                    "verbosity_level": 1
                }
            ]
        }
    ]
}