Dynamic Instrumentation Tool Platform
This report summarizes scanner evidence for DynamoRIO/dynamorio, a C project with 3,194 GitHub stars. SynthScan examined 944,192 lines of code across 1702 source files, recording 2134 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 2.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 2039 finding(s).
Are imports declared and package/API names verified? 11 finding(s).
Are wrappers, guards, and repeated structures necessary? 89 finding(s).
Which changes need focused human review? 2134 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2134 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | CMakeLists.txt | 21 | # | COMMENT |
| LOW | CMakeLists.txt | 41 | # i#72: RHEL3 linker script has no __executable_start | COMMENT |
| LOW | CMakeLists.txt | 981 | CMAKE_SHARED_LINKER_FLAGS_${config_upper}) | COMMENT |
| LOW | CMakeLists.txt | 1081 | # We just avoid it for VS generators as a workaround. | COMMENT |
| LOW | CMakeLists.txt | 1501 | ) | COMMENT |
| LOW | CMakeLists.txt | 1561 | # since the Extensions depend on DynamoRIO and in some cases each other | COMMENT |
| LOW | CMakeLists.txt | 2041 | # Non-fatal for a single, un-official build. | COMMENT |
| LOW | CMakeLists.txt | 2181 | DR_target_install(CODE "file(APPEND \"${PROJECT_BINARY_DIR}/CMakeFiles/Export/cmake/${exported_targets_name}.cmake\" \"$ | COMMENT |
| LOW | clients/CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | clients/drcov/CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | clients/drcov/CMakeLists.txt | 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | COMMENT |
| LOW | clients/drcov/postprocess/drcov2lcov.cpp | 41 | COMMENT | |
| LOW | clients/standalone/winsysnums.c | 61 | COMMENT | |
| LOW | clients/standalone/CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | clients/common/utils.h | 41 | # define IF_DEBUG(x) x | COMMENT |
| LOW | clients/common/utils.h | 61 | #ifdef WINDOWS | COMMENT |
| LOW | clients/drcpusim/CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | clients/drcpusim/drcpusim.cpp | 761 | report_invalid_opcode(instr_get_opcode(instr), instr_get_app_pc(instr)); | COMMENT |
| LOW | clients/drcpusim/tests/cpuid.c | 41 | #define CPUID_INTEL_EDX /* ineI */ 0x49656e69 | COMMENT |
| LOW | clients/drcachesim/CMakeLists.txt | 1 | # ********************************************************** | COMMENT |
| LOW | clients/drcachesim/CMakeLists.txt | 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | COMMENT |
| LOW | clients/drcachesim/analysis_tool.h | 281 | // The following fields are set automatically by the analyzer framework after | COMMENT |
| LOW | clients/drcachesim/analyzer.h | 41 | /** | COMMENT |
| LOW | clients/drcachesim/analyzer.h | 421 | std::size_t | COMMENT |
| LOW | clients/drcachesim/analyzer.h | 461 | shard_type_t shard_type_ = SHARD_BY_THREAD; | COMMENT |
| LOW | clients/drcachesim/analyzer.cpp | 41 | #include <iostream> | COMMENT |
| LOW | clients/drcachesim/analyzer.cpp | 61 | #include "noise_generator.h" | COMMENT |
| LOW | clients/drcachesim/analyzer_multi.cpp | 41 | #include "tracer/raw2trace_directory.h" | COMMENT |
| LOW | clients/drcachesim/analyzer_multi.cpp | 61 | #include "tools/histogram_create.h" | COMMENT |
| LOW | clients/drcachesim/launcher.cpp | 41 | # define WIN32_LEAN_AND_MEAN | COMMENT |
| LOW | clients/drcachesim/reader/reader.h | 41 | #include <stddef.h> | COMMENT |
| LOW | clients/drcachesim/reader/reader.h | 221 | // fetch record size, but removing one byte doesn't change the struct size. | COMMENT |
| LOW | clients/drcachesim/reader/file_reader.h | 41 | #include <inttypes.h> | COMMENT |
| LOW | clients/drcachesim/reader/config_reader.h | 81 | // Cache associativity. Must be a power of 2. | COMMENT |
| LOW | clients/drcachesim/reader/zipfile_file_reader.cpp | 241 | // read its first instr. However, this does not change how we do chunk | COMMENT |
| LOW | clients/drcachesim/tracer/instru.cpp | 41 | #include "drmgr.h" | COMMENT |
| LOW | clients/drcachesim/tracer/instru.cpp | 61 | // XXX: this decoding logic may be moved to DR's IR for reuse. | COMMENT |
| LOW | clients/drcachesim/tracer/instru.cpp | 261 | // Returns -1 on error. It's hard for callers to omit the cpu marker though | COMMENT |
| LOW | clients/drcachesim/tracer/instru_offline.cpp | 41 | #include <cstdint> | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace_shared.cpp | 621 | #ifdef X86 | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.h | 41 | * @brief DrMemtrace offline trace post-processing customization. | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.h | 61 | #include <unordered_map> | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.h | 81 | namespace drmemtrace { | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.h | 1081 | // get_write_buffer() may reuse the same buffer after write() or | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.h | 1321 | // and c++11 std::unordered_map (including tuning its load factor, initial size, | COMMENT |
| LOW | clients/drcachesim/tracer/instru.h | 41 | #include <sys/types.h> | COMMENT |
| LOW | clients/drcachesim/tracer/instr_counter.cpp | 41 | #include <stddef.h> | COMMENT |
| LOW | clients/drcachesim/tracer/kcore_copy.cpp | 41 | #include <set> | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 41 | #include <sys/types.h> | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 61 | #ifdef HAS_SNAPPY | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 161 | // Another thread already changed the mode. | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 861 | redzone_size, REDZONE_SENTINEL); | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 1041 | // the corresponding physical. We assume the mappings are static, allowing | COMMENT |
| LOW | clients/drcachesim/tracer/output.cpp | 1301 | // switch is made, it will take effect in some thread at the top of a block in | COMMENT |
| LOW | clients/drcachesim/tracer/syscall_pt_trace.cpp | 41 | #include <string> | COMMENT |
| LOW | clients/drcachesim/tracer/func_trace.cpp | 41 | #include <cstdint> | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.cpp | 41 | #include "raw2trace.h" | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.cpp | 61 | #include <cstdarg> | COMMENT |
| LOW | clients/drcachesim/tracer/raw2trace.cpp | 281 | buf_in = reinterpret_cast<byte *>(buf_base); // Defensive: update the returned buf. | COMMENT |
| 1914 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | clients/standalone/winsysnums.c | 711 | print("Error %d searching \"%s\" for \"%s\"\n", symres, fullpath, sym_with_mod); | CODE |
| MEDIUM | clients/standalone/winsysnums.c | 812 | print("Error loading %s\n", dllname); | CODE |
| MEDIUM | tools/libdynamorio.so-gdb.py | 127 | print("Error parsing gdb version ({0})".format(gdb.VERSION)) | CODE |
| MEDIUM | core/ir/aarch64/codecsort.py | 75 | print("Error parsing line: {}".format(line), file=sys.stderr) | CODE |
| MEDIUM | suite/tests/tools.c | 200 | print("Error on munmap: %d\n", errno); | CODE |
| MEDIUM | suite/tests/tools.c | 204 | print("Error on VirtualFree\n"); | CODE |
| MEDIUM | suite/tests/tools.c | 222 | print("Error on mprotect: %d\n", errno); | CODE |
| MEDIUM | suite/tests/tools.c | 227 | print("Error on VirtualProtect\n"); | CODE |
| MEDIUM | suite/tests/tools.c | 241 | print("Error on VirtualProtect\n"); | CODE |
| MEDIUM | suite/tests/tools.h | 633 | print("Error using NTFlush method\n"); | CODE |
| MEDIUM | suite/tests/runall/detach_test.c | 253 | print("Error creating window\n"); | CODE |
| MEDIUM | suite/tests/runall/detach_test.c | 280 | print("Error creating window thread\n"); | CODE |
| MEDIUM | suite/tests/runall/detach_test.c | 290 | print("Error creating self-suspend thread\n"); | CODE |
| MEDIUM | suite/tests/runall/detach_test.c | 311 | print("Error creating exit thread\n"); | CODE |
| MEDIUM | suite/tests/runall/earlythread.c | 143 | print("Error in CreateRemoteThread(Code %d)\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/security-win32/apc-shellcode.c | 106 | print("Error using NtQueueApcThread %x\n", status); | CODE |
| MEDIUM | suite/tests/client-interface/winxfer.c | 185 | print("Error creating thread\n"); | CODE |
| MEDIUM | suite/tests/client-interface/winxfer.c | 197 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/client-interface/winxfer.c | 210 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/client-interface/winxfer.c | 218 | print("Error %d posting thread message\n", GetLastError()); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 197 | print("Error: fail(%d) to set rlimit for RLIMIT_NOFILE with " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 205 | print("Error: fail(%d) to set rlimit for RLIMIT_NOFILE " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 214 | print("Error: should fail to set rlimit for RLIMIT_NOFILE with higher value\n"); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 221 | print("Error: fail(%d) to set rlimit for RLIMIT_NOFILE with " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 228 | print("Error: should fail to raise hard limit\n"); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 235 | print("Error: should fail with EINVAL if max>cur\n"); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 257 | print("Error: fail(%d) to get prlimit for RLIMIT_NOFILE\n", errno); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 264 | print("Error: fail(%d) to set prlimit for RLIMIT_NOFILE with " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 271 | print("Error: fail(%d) to set prlimit for RLIMIT_NOFILE back " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 279 | print("Error: should fail to set prlimit for RLIMIT_NOFILE with higher " | CODE |
| MEDIUM⚡ | suite/tests/client-interface/file_io.c | 289 | print("Error: fail(%d) to set/get rlimit\n", errno); | CODE |
| MEDIUM | suite/tests/client-interface/drmgr-test.c | 195 | print("Error creating thread\n"); | CODE |
| MEDIUM | suite/tests/client-interface/drmgr-test.c | 207 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/client-interface/drmgr-test.c | 220 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/client-interface/drmgr-test.c | 228 | print("Error %d posting thread message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/client-interface/annotation-concurrency.c | 129 | print("Error: failed to load %s() from lib %s:\n", name, lib_name); | CODE |
| MEDIUM | suite/tests/client-interface/annotation-concurrency.c | 142 | print("Error: failed to load %s() from lib %s:\n%s\n", name, lib_name, error); | CODE |
| MEDIUM | suite/tests/client-interface/annotation-concurrency.c | 334 | print("Error: failed to load lib %s\n", lib_name); | CODE |
| MEDIUM | suite/tests/client-interface/annotation-concurrency.c | 340 | print("Error: failed to load lib %s\n", lib_path); | CODE |
| MEDIUM | suite/tests/client-interface/ldstex.c | 102 | print("Error in ldstex_inc6x_stolen: %d\n", my_var); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 139 | print("Error in ldstex_inc_pair: %d %d\n", my_var.counter1, my_var.counter2); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 143 | print("Error in ldstex_inc_half: %d\n", half_ctr); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 148 | print("Error in ldstex_inc_byte: %d\n", byte_ctr); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 153 | print("Error in ldstex_inc_shapes: %d\n", ctr); | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 160 | print("Error in ldstex_inc32_with_xzr: %d %d\n", my_var.counter1, | CODE |
| MEDIUM⚡ | suite/tests/client-interface/ldstex.c | 166 | print("Error in ldstex_inc64_with_xzr: %ld %ld\n", my_var64.counter1, | CODE |
| MEDIUM | suite/tests/client-interface/ldstex.c | 188 | print("Error: r0 was not restored to 0: %p\n", sc->SC_R0); | CODE |
| MEDIUM | suite/tests/client-interface/ldstex.c | 197 | print("Error: r0 was not restored to 0: %p\n", sc->SC_R0); | CODE |
| MEDIUM | suite/tests/client-interface/ldstex.c | 241 | print("Error in ldstex_clrex: %d\n", my_var); | CODE |
| MEDIUM | suite/tests/linux/signalfd.c | 51 | print("Error: in handler for signal %d\n", sig); | CODE |
| MEDIUM | suite/tests/win32/callback.c | 192 | print("Error creating thread\n"); | CODE |
| MEDIUM | suite/tests/win32/callback.c | 204 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/win32/callback.c | 217 | print("Error %d posting window message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/win32/callback.c | 225 | print("Error %d posting thread message\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/win32/threadinjection.c | 118 | print("Error creating process:\n\"%s\"\n", szCommandLine); | CODE |
| MEDIUM⚡ | suite/tests/win32/threadinjection.c | 293 | print("Error in SuspendThread()(Code %d)\n", GetLastError()); | CODE |
| MEDIUM⚡ | suite/tests/win32/threadinjection.c | 296 | print("Error in ResumeThread() (Code %d)\n", GetLastError()); | CODE |
| MEDIUM⚡ | suite/tests/win32/threadinjection.c | 302 | print("Error in GetThreadContext (Code %d)\n", GetLastError()); | CODE |
| MEDIUM⚡ | suite/tests/win32/threadinjection.c | 308 | print("Error in SetThreadContext (Code %d)\n", GetLastError()); | CODE |
| MEDIUM | suite/tests/win32/threadinjection.c | 390 | print("Error in OpenProcess(Code %d)\n", GetLastError()); | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/drcachesim/analyzer.h | 97 | * #dynamorio::drmemtrace::analyzer_tmpl_t, and simply use reader_tmpl_t<RecordType> | COMMENT |
| LOW | clients/drcachesim/tools/common/decode_cache.h | 325 | * When analyzing #memref_t from a trace, it may be better to just use | COMMENT |
| MEDIUM | clients/drcachesim/scheduler/scheduler_replay.cpp | 84 | // Now leverage the regular replay code. | COMMENT |
| MEDIUM | clients/drcachesim/scheduler/scheduler_dynamic.cpp | 119 | // construct it up front would take similar code to the rebalance so we leverage that | COMMENT |
| LOW | tools/tracestats.pl | 885 | # if have both stubs and times, just use stubs | COMMENT |
| MEDIUM | tools/extract-stats.pl | 475 | # Buffer the lines pertaining to memory data | COMMENT |
| MEDIUM | tools/DRstats/DynamoRIODoc.cpp | 263 | // be robust -- make sure app file exists | COMMENT |
| MEDIUM | tools/DRstats/DynamoRIODoc.cpp | 296 | // be robust | COMMENT |
| MEDIUM | tools/desktop-scripts/cpu_idle.pl | 75 | # To keep it a little more robust, find index for CPU, WSS etc. | COMMENT |
| MEDIUM | tools/desktop-scripts/cpu_idle.pl | 91 | # little robust, get the index CPU, so this will work | COMMENT |
| MEDIUM | core/ir/riscv64/codec.py | 42 | # instruction-specific [de]ncoder will utilize branch predictor better and not | COMMENT |
| MEDIUM | core/ir/x86/decode_fast.c | 356 | #if 0 /* to be robust wrt future additions we assume all entries are 1 */ | COMMENT |
| MEDIUM | core/ir/x86/decode_fast.c | 377 | #if 0 /* to be robust wrt future additions we assume all entries are 1 */ | COMMENT |
| MEDIUM | core/ir/x86/decode.c | 1547 | * XXX i#1312: improve this code here, it is not very robust. For AVX-512, this | COMMENT |
| LOW | core/unix/module.c | 94 | /* Add the non-contiguous segments (i#160/PR 562667). We could just add | COMMENT |
| MEDIUM | ext/drx/drx.h | 166 | * #DRX_COUNTER_REL_ACQ flag can be used in conjunction with #DRX_COUNTER_64BIT. | COMMENT |
| MEDIUM | ext/drsyms/drsyms_windows.c | 54 | * TODO i#449: be more robust about handling failures packing in | COMMENT |
| MEDIUM | ext/drsyscall/table_windows_ntusercall.c | 852 | /* XXX i#996: not 100% sure there's not more nuanced behavior to | COMMENT |
| MEDIUM | ext/drsyscall/pdb2sysfile.cpp | 784 | /* XXX DRi#2715: drsyms sometimes passes bogus offsets so we're robust here */ | COMMENT |
| LOW | suite/tests/runall/runalltest.sh | 112 | # XXX: What a hack. Can't we just set the permissions directly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/desktop-scripts/desktop_nightly.pl | 110 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/measure_cores.pl | 71 | #-------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/cpu_idle.pl | 74 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tools/desktop-scripts/getmeminfo_automate.pl | 66 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/measure_mem.pl | 146 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/install_cores.pl | 53 | #-------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/getservices.pl | 76 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/measure_reset.pl | 95 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/measure_options.pl | 266 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/measure_options.pl | 372 | #-------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/desktop-scripts/ie/run.pl | 50 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/ir/aarch64/codec_v80.txt | 39 | # ----------- | COMMENT |
| MEDIUM | core/ir/aarch64/codec_v80.txt | 96 | # ------------------------------------------- | COMMENT |
| MEDIUM | core/ir/aarch64/codec_v80.txt | 113 | # ----------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/ir/riscv64/codec.py | 102 | except IOError: | CODE |
| HIGH | core/ir/aarch64/codec.py | 611 | except IOError: | CODE |
| HIGH | core/ir/aarch64/codec.py | 462 | except KeyError: | CODE |
| HIGH | core/ir/aarch64/codec.py | 573 | except KeyError: | CODE |
| HIGH | core/ir/aarch64/codec.py | 600 | except KeyError: | CODE |
| HIGH | core/ir/aarch64/codec.py | 196 | except KeyError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/arm_macros_gen.pl | 252 | # Create a single-string signature line | COMMENT |
| MEDIUM | tools/bugcrash.pl | 108 | ## Create a script file | COMMENT |
| MEDIUM | tools/bugcrash.pl | 237 | ## Create a debugger log file | COMMENT |
| MEDIUM | core/ir/aarch64/codec.py | 565 | # Create a set to remove duplicates and sort the values to keep the order of features | COMMENT |
| MEDIUM | core/ir/aarch64/codec.py | 593 | # Create a set to remove duplicates and sort the values to keep the order of features | COMMENT |
| MEDIUM | .github/workflows/ci-x86.yml | 179 | # Create an Alpine Linux 3.21.2 chroot environment for building | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/gdb-scripts/gdb-memquery.py | 54 | CODE | |
| LOW | core/ir/riscv64/codec.py | 944 | CODE | |
| LOW | core/ir/riscv64/codec.py | 1025 | CODE | |
| LOW | core/ir/riscv64/codec.py | 1111 | CODE | |
| LOW | core/ir/riscv64/codec.py | 1154 | CODE | |
| LOW | core/ir/riscv64/codec.py | 1211 | CODE | |
| LOW | core/ir/riscv64/codec.py | 1325 | CODE | |
| LOW | core/ir/aarch64/codecsort.py | 55 | CODE | |
| LOW | core/ir/aarch64/codecsort.py | 115 | CODE | |
| LOW | core/ir/aarch64/codec.py | 136 | CODE | |
| LOW | core/ir/aarch64/codec.py | 176 | CODE | |
| LOW | core/ir/aarch64/codec.py | 615 | CODE | |
| LOW | core/ir/aarch64/codec.py | 650 | CODE | |
| LOW | core/ir/aarch64/codec.py | 695 | CODE | |
| LOW | core/ir/aarch64/codec.py | 179 | CODE | |
| LOW | suite/tests/api/sort-dis-a64.py | 36 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/run_with_vector_length.py | 0 | use prctl(2) to set the process tree's sve vector length. see https://man7.org/linux/man-pages/man2/prctl.2.html for mor | STRING |
| HIGH | tools/get_vector_length.py | 0 | use prctl(2) to set the process tree's sve vector length. see https://man7.org/linux/man-pages/man2/prctl.2.html for mor | STRING |
| HIGH | tools/set_vector_length.py | 0 | use prctl(2) to set the process tree's sve vector length. see https://man7.org/linux/man-pages/man2/prctl.2.html for mor | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/DRstats/OptionsDlg.cpp | 858 | _T("Don't forget to select either a text or binary trace dump."), | CODE |
| LOW | core/perscache.c | 4274 | /* XXX case 9648: don't forget to append a guard page -- but we | COMMENT |
| LOW | core/arch/interp.c | 2230 | /* XXX: when using follow_direct_call don't forget to set this */ | COMMENT |
| LOW | core/lib/instrument.c | 93 | * If changing this, don't forget to update: | COMMENT |
| LOW | ext/drsyscall/table_windows_ntoskrnl.c | 70 | * Don't forget to re-add the #if 1 below after re-generating | COMMENT |
| LOW | suite/tests/common/nativeexec.c | 208 | /* i#2372: make sure to verify we did not lose control! */ | COMMENT |
| LOW | suite/tests/win32/hooker-secur32.c | 213 | * Don't forget to update the proc name in .template as well. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/libdynamorio.so-gdb.py | 6 | CODE | |
| LOW | tools/gdb-scripts/gdb-drsymload.py | 49 | CODE | |
| LOW | tools/gdb-scripts/gdb-memquery.py | 46 | CODE | |
| LOW | core/ir/riscv64/codec.py | 47 | CODE | |
| LOW | core/ir/riscv64/codec.py | 51 | CODE | |
| LOW | core/ir/aarch64/codecsort.py | 38 | CODE | |
| LOW | core/ir/aarch64/codecsort.py | 40 | CODE | |
| LOW | make/aarch64_check_codec_order.py | 41 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/globals.h | 309 | * This variable stores the length for off-line decoding. | COMMENT |
| LOW | core/unix/injector.c | 1118 | /* Finally we need to check if the target actually has SVE state. Only tasks which | COMMENT |
| LOW | core/unix/os.c | 8945 | /* process_mmap can be called with PROT_NONE, so we need to check if we | COMMENT |
| LOW | libutil/utils.c | 706 | /* case 7586: we need to check if the system has disabled | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | make/aarch64_check_codec_order.py | 92 | # Check if operand patterns in opnd_defs.txt are ordered by pattern. | COMMENT |
| LOW | make/aarch64_check_codec_order.py | 100 | # Check if operand order in opnd_defs.txt and codec.c matches. | COMMENT |
| LOW | .github/actions/are-format-checks-disabled/action.yml | 31 | # Check if DISABLE_FORMAT_CHECKS appears in the PR commit messages. | COMMENT |
| LOW | .github/actions/are-format-checks-disabled/action.yml | 32 | # Set disable_format_checks to "yes" if it does, "no" otherwise. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/ir/riscv64/codec.py | 944 | def __fixup_uncompressed_inst(self, inst: Instruction): | CODE |
| LOW | core/ir/aarch64/codec.py | 136 | def generate_opndset_decoders(opndsettab, opndtab): | CODE |
| LOW | core/ir/aarch64/codec.py | 303 | def generate_opndset_encoders(opndsettab, opndtab): | CODE |
| LOW | core/ir/aarch64/codec.py | 515 | def generate_opcode_opnd_pairs(patterns): | CODE |
| LOW | core/ir/aarch64/codec.py | 583 | def generate_isa_feature_names(patterns): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/ir/aarch64/codec.py | 321 | tests = ['instr_num_dsts(instr) == %d && instr_num_srcs(instr) == %d' % (len(dsts), len(srcs))] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/drcachesim/tools/reuse_distance.h | 62 | // Example usage: | COMMENT |
| LOW | tools/gdb-scripts/gdb-drsymload.py | 36 | # Usage: | COMMENT |
| LOW | tools/gdb-scripts/gdb-memquery.py | 34 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | suite/tests/client-interface/segfault.c | 42 | static volatile void *dummy_value; | CODE |
| LOW | suite/tests/client-interface/segfault.c | 113 | dummy_value = *(volatile void **)address; | CODE |