diff mbox series

[BlueZ,v2,2/5] shared/shell: prevent integer overflow in bt_shell_init()

Message ID 20240705075709.26809-3-r.smirnov@omp.ru (mailing list archive)
State Accepted
Commit 85d98aecd6a9504cb51a4bd4f8b37cc11a0057f8
Headers show
Series fix error found by SVACE static analyzer #2 | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch success CheckPatch PASS
tedd_an/GitLint success Gitlint PASS
tedd_an/IncrementalBuild success Incremental Build PASS

Commit Message

Roman Smirnov July 5, 2024, 7:57 a.m. UTC
An integer overflow will occur if index < offest. It is necessary
to prevent this case.

Found with the SVACE static analysis tool.
---
 V1 -> V2: added check index >= 0, casting index to size_t
 src/shared/shell.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/src/shared/shell.c b/src/shared/shell.c
index add4fa131..48de8ab1b 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
@@ -1333,7 +1333,7 @@  void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt)
 				}
 			}
 
-			if (opt) {
+			if (opt && index >= 0 && (size_t)index >= offset) {
 				if (c != opt->options[index - offset].val) {
 					usage(argc, argv, opt);
 					exit(EXIT_SUCCESS);