Fixed findings
List of Findings
Error: SHELLCHECK_WARNING: [#def1]
/usr/bin/brltty-config.sh:66:4: warning[SC3043]: In POSIX sh, 'local' is undefined.
Error: SHELLCHECK_WARNING: [#def2]
/usr/bin/brltty-config.sh:82:4: warning[SC3043]: In POSIX sh, 'local' is undefined.
Error: CPPCHECK_WARNING (CWE-401): [#def3]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:248: error[memleakOnRealloc]: Common realloc mistake: 'curRows' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def4]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:249: error[memleakOnRealloc]: Common realloc mistake: 'curRowLengths' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def5]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:261: error[memleakOnRealloc]: Common realloc mistake: 'curRows' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def6]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:262: error[memleakOnRealloc]: Common realloc mistake: 'curRowLengths' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-476): [#def7]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:788: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: ret
Error: CPPCHECK_WARNING (CWE-476): [#def8]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1336: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: a2Watch
Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1336:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘a2Watch’
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1360:6: enter_function: entry to ‘a2WatchToggled’
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1363:8: branch_true: following ‘true’ branch...
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1364:7: branch_true: ...to here
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1364:7: call_function: calling ‘a2AddWatch’ from ‘a2WatchToggled’
Error: CPPCHECK_WARNING (CWE-476): [#def10]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1403: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: a2Timeout
Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1403:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘a2Timeout’
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1419:6: enter_function: entry to ‘a2TimeoutToggled’
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1422:8: branch_true: following ‘true’ branch...
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1423:7: branch_true: ...to here
brltty-6.8/minimal/Drivers/Screen/AtSpi2/a2_screen.c:1423:7: call_function: calling ‘a2AddTimeout’ from ‘a2TimeoutToggled’
Error: CPPCHECK_WARNING (CWE-457): [#def12]
brltty-6.8/minimal/Programs/brltty-lscmds.c:236: warning[uninitvar]: Uninitialized variables: commands.name, commands.description, commands.code, commands.isToggle, commands.isMotion, commands.isRow, commands.isVertical, commands.isHorizontal, commands.isPanning, commands.isInput, commands.isCharacter, commands.isBraille, commands.isKeyboard, commands.isRouting, commands.isColumn, commands.isOffset, commands.isRange
Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
brltty-6.8/minimal/Programs/brltty-lsinc.c:54:1: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
brltty-6.8/minimal/Programs/brltty-lsinc.c:49:12: acquire_memory: allocated here
brltty-6.8/minimal/Programs/brltty-lsinc.c:50:8: branch_false: following ‘false’ branch (when ‘name’ is non-NULL)...
brltty-6.8/minimal/Programs/brltty-lsinc.c:51:10: branch_false: ...to here
brltty-6.8/minimal/Programs/brltty-lsinc.c:51:8: branch_false: following ‘false’ branch...
brltty-6.8/minimal/Programs/brltty-lsinc.c:52:5: branch_false: ...to here
brltty-6.8/minimal/Programs/brltty-lsinc.c:54:1: danger: ‘name’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
Error: GCC_ANALYZER_WARNING (CWE-457): [#def14]
brltty-6.8/minimal/Programs/message.c:466:27: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*mgd.segments.first.start’
brltty-6.8/minimal/Programs/message.c:416:1: enter_function: entry to ‘presentMessage’
brltty-6.8/minimal/Programs/message.c:423:6: branch_true: following ‘true’ branch...
brltty-6.8/minimal/Programs/message.c:423:21: branch_true: ...to here
brltty-6.8/minimal/Programs/message.c:448:8: branch_false: following ‘false’ branch...
brltty-6.8/minimal/Programs/message.c:463:20: branch_false: ...to here
brltty-6.8/minimal/Programs/message.c:465:25: call_function: calling ‘makeSegments’ from ‘presentMessage’
brltty-6.8/minimal/Programs/message.c:465:25: return_function: returning to ‘presentMessage’ from ‘makeSegments’
brltty-6.8/minimal/Programs/message.c:466:27: danger: use of uninitialized value ‘*mgd.segments.first.start’ here
Error: CPPCHECK_WARNING (CWE-476): [#def15]
brltty-6.8/python3/Bindings/Python/bindings.c:146: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: descr
Error: GCC_ANALYZER_WARNING (CWE-476): [#def16]
brltty-6.8/python3/Bindings/Python/bindings.c:146:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘descr’
brltty-6.8/python3/Bindings/Python/bindings.c:132:42: enter_function: entry to ‘brlapi_python_watchParameter’
brltty-6.8/python3/Bindings/Python/bindings.c:138:6: branch_false: following ‘false’ branch...
brltty-6.8/python3/Bindings/Python/bindings.c:143:3: call_function: inlined call to ‘Py_INCREF’ from ‘brlapi_python_watchParameter’
brltty-6.8/python3/Bindings/Python/bindings.c:145:11: branch_true: ...to here
brltty-6.8/python3/Bindings/Python/bindings.c:145:11: acquire_memory: this call could return NULL
brltty-6.8/python3/Bindings/Python/bindings.c:146:3: danger: ‘descr’ could be NULL: unchecked value from [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
Error: CPPCHECK_WARNING (CWE-476): [#def17]
brltty-6.8/python3/Bindings/Python/bindings.c:156: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: descr
Error: CPPCHECK_WARNING (CWE-401): [#def18]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:248: error[memleakOnRealloc]: Common realloc mistake: 'curRows' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def19]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:249: error[memleakOnRealloc]: Common realloc mistake: 'curRowLengths' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def20]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:261: error[memleakOnRealloc]: Common realloc mistake: 'curRows' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-401): [#def21]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:262: error[memleakOnRealloc]: Common realloc mistake: 'curRowLengths' nulled but not freed upon failure
Error: CPPCHECK_WARNING (CWE-476): [#def22]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:788: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: ret
Error: CPPCHECK_WARNING (CWE-476): [#def23]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1336: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: a2Watch
Error: GCC_ANALYZER_WARNING (CWE-476): [#def24]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1336:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘a2Watch’
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1360:6: enter_function: entry to ‘a2WatchToggled’
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1363:8: branch_true: following ‘true’ branch...
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1364:7: branch_true: ...to here
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1364:7: call_function: calling ‘a2AddWatch’ from ‘a2WatchToggled’
Error: CPPCHECK_WARNING (CWE-476): [#def25]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1403: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: a2Timeout
Error: GCC_ANALYZER_WARNING (CWE-476): [#def26]
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1403:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘a2Timeout’
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1419:6: enter_function: entry to ‘a2TimeoutToggled’
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1422:8: branch_true: following ‘true’ branch...
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1423:7: branch_true: ...to here
brltty-6.8/python3/Drivers/Screen/AtSpi2/a2_screen.c:1423:7: call_function: calling ‘a2AddTimeout’ from ‘a2TimeoutToggled’
Error: CPPCHECK_WARNING (CWE-476): [#def27]
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:166: error[nullPointer]: Null pointer dereference: error_message
Error: GCC_ANALYZER_WARNING (CWE-476): [#def28]
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:166:7: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:165:8: branch_true: following ‘true’ branch...
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:166:7: branch_true: ...to here
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:166:7: danger: dereference of NULL ‘0’
Error: CPPCHECK_WARNING (CWE-476): [#def29]
brltty-6.8/python3/Drivers/Speech/SpeechDispatcher/speech.c:167: error[nullPointer]: Null pointer dereference: error_message
Error: CPPCHECK_WARNING (CWE-457): [#def30]
brltty-6.8/python3/Programs/brltty-lscmds.c:236: warning[uninitvar]: Uninitialized variables: commands.name, commands.description, commands.code, commands.isToggle, commands.isMotion, commands.isRow, commands.isVertical, commands.isHorizontal, commands.isPanning, commands.isInput, commands.isCharacter, commands.isBraille, commands.isKeyboard, commands.isRouting, commands.isColumn, commands.isOffset, commands.isRange
Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
brltty-6.8/python3/Programs/brltty-lsinc.c:54:1: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
brltty-6.8/python3/Programs/brltty-lsinc.c:49:12: acquire_memory: allocated here
brltty-6.8/python3/Programs/brltty-lsinc.c:50:8: branch_false: following ‘false’ branch (when ‘name’ is non-NULL)...
brltty-6.8/python3/Programs/brltty-lsinc.c:51:10: branch_false: ...to here
brltty-6.8/python3/Programs/brltty-lsinc.c:51:8: branch_false: following ‘false’ branch...
brltty-6.8/python3/Programs/brltty-lsinc.c:52:5: branch_false: ...to here
brltty-6.8/python3/Programs/brltty-lsinc.c:54:1: danger: ‘name’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
Error: GCC_ANALYZER_WARNING (CWE-457): [#def32]
brltty-6.8/python3/Programs/message.c:466:27: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*mgd.segments.first.start’
brltty-6.8/python3/Programs/message.c:416:1: enter_function: entry to ‘presentMessage’
brltty-6.8/python3/Programs/message.c:423:6: branch_true: following ‘true’ branch...
brltty-6.8/python3/Programs/message.c:423:21: branch_true: ...to here
brltty-6.8/python3/Programs/message.c:448:8: branch_false: following ‘false’ branch...
brltty-6.8/python3/Programs/message.c:463:20: branch_false: ...to here
brltty-6.8/python3/Programs/message.c:465:25: call_function: calling ‘makeSegments’ from ‘presentMessage’
brltty-6.8/python3/Programs/message.c:465:25: return_function: returning to ‘presentMessage’ from ‘makeSegments’
brltty-6.8/python3/Programs/message.c:466:27: danger: use of uninitialized value ‘*mgd.segments.first.start’ here
Scan Properties
| analyzer-version-clippy | 1.95.0 |
| analyzer-version-cppcheck | 2.20.0 |
| analyzer-version-gcc | 16.1.1 |
| analyzer-version-gcc-analyzer | 16.1.1 |
| analyzer-version-shellcheck | 0.11.0 |
| analyzer-version-unicontrol | 0.0.2 |
| diffbase-analyzer-version-clippy | 1.95.0 |
| diffbase-analyzer-version-cppcheck | 2.20.0 |
| diffbase-analyzer-version-gcc | 16.1.1 |
| diffbase-analyzer-version-gcc-analyzer | 16.1.1 |
| diffbase-analyzer-version-shellcheck | 0.11.0 |
| diffbase-analyzer-version-unicontrol | 0.0.2 |
| diffbase-enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
| diffbase-exit-code | 0 |
| diffbase-host | ip-172-16-1-158.us-west-2.compute.internal |
| diffbase-known-false-positives | /usr/share/csmock/known-false-positives.js |
| diffbase-known-false-positives-rpm | known-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch |
| diffbase-mock-config | fedora-rawhide-x86_64 |
| diffbase-project-name | brltty-6.9.1-3.fc45 |
| diffbase-store-results-to | /tmp/tmpwoqc2zgj/brltty-6.9.1-3.fc45.tar.xz |
| diffbase-time-created | 2026-06-01 11:43:35 |
| diffbase-time-finished | 2026-06-01 11:54:05 |
| diffbase-tool | csmock |
| diffbase-tool-args | '/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpwoqc2zgj/brltty-6.9.1-3.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpwoqc2zgj/brltty-6.9.1-3.fc45.src.rpm' |
| diffbase-tool-version | csmock-3.8.5.20260529.133039.g6f3b5c6-1.el9 |
| enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
| exit-code | 0 |
| host | ip-172-16-1-158.us-west-2.compute.internal |
| known-false-positives | /usr/share/csmock/known-false-positives.js |
| known-false-positives-rpm | known-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch |
| mock-config | fedora-rawhide-x86_64 |
| project-name | brltty-6.8-8.fc44 |
| store-results-to | /tmp/tmpluwo6y8n/brltty-6.8-8.fc44.tar.xz |
| time-created | 2026-06-01 11:31:55 |
| time-finished | 2026-06-01 11:43:17 |
| title | Fixed findings |
| tool | csmock |
| tool-args | '/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpluwo6y8n/brltty-6.8-8.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpluwo6y8n/brltty-6.8-8.fc44.src.rpm' |
| tool-version | csmock-3.8.5.20260529.133039.g6f3b5c6-1.el9 |