Task #1978 - sudo-1.9.15-2.p5.fc40/scan-results.err
back to task #1978download
Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:251:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘errpipe[0]’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ # 249| do { \ # 250| sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys); \ # 251|-> return; \ # 252| } while (0) # 253| Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:40: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:45: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c: scope_hint: In function ‘exec_nopty’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:251:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘errpipe[1]’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:38: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ # 249| do { \ # 250| sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys); \ # 251|-> return; \ # 252| } while (0) # 253| Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:251:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘io_pipe[0][0]’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ # 249| do { \ # 250| sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys); \ # 251|-> return; \ # 252| } while (0) # 253| Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:251:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘io_pipe[1][1]’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:514:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ # 249| do { \ # 250| sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys); \ # 251|-> return; \ # 252| } while (0) # 253| Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:251:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘io_pipe[2][1]’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:524:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:589:9: note: in expansion of macro ‘debug_return’ # 249| do { \ # 250| sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys); \ # 251|-> return; \ # 252| } while (0) # 253| Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c: scope_hint: In function ‘selinux_execve’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:427:28: warning[-Wanalyzer-malloc-leak]: leak of ‘nargv’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:134:9: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:250:9: note: in expansion of macro ‘sudo_debug_exit’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:497:13: note: in expansion of macro ‘debug_return’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_fatal.h:111:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:496:13: note: in expansion of macro ‘sudo_warnx’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:134:9: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:250:9: note: in expansion of macro ‘sudo_debug_exit’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:497:13: note: in expansion of macro ‘debug_return’ # 425| #define sudo_debug_get_instance(_a) sudo_debug_get_instance_v1((_a)) # 426| #define sudo_debug_parse_flags(_a, _b) sudo_debug_parse_flags_v1((_a), (_b)) # 427|-> #define sudo_debug_printf2 sudo_debug_printf2_v1 # 428| #define sudo_debug_printf_nvm sudo_debug_printf_nvm_v1 # 429| #define sudo_debug_register(_a, _b, _c, _d, _e) sudo_debug_register_v2((_a), (_b), (_c), (_d), (_e)) Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog.c: scope_hint: In function 'exec_mailer' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog.c:303:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'dup3(pipein, 0, 0)' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog.c:52: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog.c:468:19: note: in expansion of macro 'sudo_debug_fork' # 301| # 302| /* Set stdin to read side of the pipe. */ # 303|-> if (dup3(pipein, STDIN_FILENO, 0) == -1) { # 304| syslog(LOG_ERR, _("unable to dup stdin: %m")); // -V618 # 305| sudo_debug_printf(SUDO_DEBUG_ERROR, Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/eventlog_free.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-416): sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c: scope_hint: In function 'free_json_items' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:594:21: warning[-Wanalyzer-use-after-free]: use after 'free' of 'item' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:29: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:41: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:786:5: note: in expansion of macro 'TAILQ_INIT' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/lib/eventlog/parse_json.c:593:9: note: in expansion of macro 'TAILQ_REMOVE' # 592| while ((item = TAILQ_FIRST(items)) != NULL) { # 593| TAILQ_REMOVE(items, item, entries); # 594|-> switch (item->type) { # 595| case JSON_STRING: # 596| free(item->u.string); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/fuzzstub/fuzzstub.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/iolog/hostcheck.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/iolog/iolog_open.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/iolog/iolog_path.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/iolog/iolog_timing.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/protobuf-c/protobuf-c.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/arc4random.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/event.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/event_poll.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/getentropy.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/gidlist.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/lbuf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/mktemp.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/parseln.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/progname.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/pw_dup.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/regex.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/strtonum.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/sudo_conf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/sudo_debug.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/sudo_dso.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/lib/util/ttyname_dev.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/iolog_writer.c: scope_hint: In function ‘create_iolog_path’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/iolog_writer.c:594:27: warning[-Wanalyzer-malloc-leak]: leak of ‘*evlog.iolog_path’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/iolog_writer.c: scope_hint: In function ‘create_iolog_path’ # 592| # 593| /* We use iolog_dir_fd in calls to openat(2) */ # 594|-> closure->iolog_dir_fd = # 595| iolog_openat(AT_FDCWD, evlog->iolog_path, O_RDONLY); # 596| if (closure->iolog_dir_fd == -1) { Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-415): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c: scope_hint: In function ‘connection_closure_free’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:152:13: warning[-Wanalyzer-double-free]: double-‘free’ of ‘*buf.data’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:64: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:203:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:63: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:379:5: note: in definition of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:62: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:146:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:146:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ # 150| while ((buf = TAILQ_FIRST(&closure->free_bufs)) != NULL) { # 151| TAILQ_REMOVE(&closure->free_bufs, buf, entries); # 152|-> free(buf->data); # 153| free(buf); # 154| } Error: GCC_ANALYZER_WARNING (CWE-416): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:152:21: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘buf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:203:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:379:5: note: in definition of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:146:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:146:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:151:13: note: in expansion of macro ‘TAILQ_REMOVE’ # 150| while ((buf = TAILQ_FIRST(&closure->free_bufs)) != NULL) { # 151| TAILQ_REMOVE(&closure->free_bufs, buf, entries); # 152|-> free(buf->data); # 153| free(buf); # 154| } Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c: scope_hint: In function ‘get_free_buf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:313:12: warning[-Wanalyzer-malloc-leak]: leak of ‘*buf.data’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:203:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:209:29: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:214:30: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:584:35: note: in definition of macro ‘TAILQ_EMPTY’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:320:32: note: in definition of macro ‘debug_return_bool’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:30: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:299:9: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:72: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd.c:306:33: note: in expansion of macro ‘sudo_pow2_roundup’ # 311| } # 312| free(buf->data); # 313|-> if ((buf->data = malloc(new_size)) == NULL) # 314| goto oom; # 315| buf->size = new_size; Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_conf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_journal.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_local.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_local.c: scope_hint: In function ‘store_exit_local’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_local.c:416:12: warning[-Wanalyzer-malloc-leak]: leak of ‘*evlog.signal_name’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_local.c:55: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:379:5: note: in definition of macro ‘sudo_debug_printf’ # 414| msg->dumped_core ? " (core dumped)" : ""); # 415| evlog->signal_name = strdup(msg->signal); # 416|-> if (evlog->signal_name == NULL) { # 417| closure->errstr = _("unable to allocate memory"); # 418| debug_return_bool(false); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_queue.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/logsrvd_relay.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c: scope_hint: In function ‘get_free_buf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:264:29: warning[-Wanalyzer-malloc-leak]: leak of ‘*buf.data’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:65: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1647:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:63: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:253:9: note: in expansion of macro ‘TAILQ_REMOVE’ # 262| free(buf->data); # 263| buf->size = sudo_pow2_roundup(len); # 264|-> if (buf->size < len || (buf->data = malloc(buf->size)) == NULL) { # 265| sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); # 266| free(buf); Error: GCC_ANALYZER_WARNING (CWE-415): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c: scope_hint: In function ‘client_closure_free’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1597:13: warning[-Wanalyzer-double-free]: double-‘free’ of ‘*buf.data’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1647:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1575:9: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:64: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:379:5: note: in definition of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1591:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1591:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ # 1595| while ((buf = TAILQ_FIRST(&closure->free_bufs)) != NULL) { # 1596| TAILQ_REMOVE(&closure->free_bufs, buf, entries); # 1597|-> free(buf->data); # 1598| free(buf); # 1599| } Error: GCC_ANALYZER_WARNING (CWE-416): sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1597:21: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘buf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1647:24: note: in expansion of macro ‘sudo_ev_alloc’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1575:9: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:379:5: note: in definition of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1591:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1591:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro ‘TAILQ_NEXT’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ sudo-1.9.15-build/sudo-1.9.15p5/logsrvd/sendlog.c:1596:13: note: in expansion of macro ‘TAILQ_REMOVE’ # 1595| while ((buf = TAILQ_FIRST(&closure->free_bufs)) != NULL) { # 1596| TAILQ_REMOVE(&closure->free_bufs, buf, entries); # 1597|-> free(buf->data); # 1598| free(buf); # 1599| } Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c: scope_hint: In function 'mygetgrnam' sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c:171:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c: scope_hint: In function 'mygetgrnam' sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c:30: included_from: Included from here. /usr/include/stdio.h:184:12: note: argument 1 of 'fclose' must be non-null # 169| } # 170| if (!gr_stayopen) { # 171|-> fclose(grf); # 172| grf = NULL; # 173| } Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c: scope_hint: In function 'mygetgrgid' sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c:189:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected sudo-1.9.15-build/sudo-1.9.15p5/plugins/group_file/getgrent.c: scope_hint: In function 'mygetgrgid' /usr/include/stdio.h:184:12: note: argument 1 of 'fclose' must be non-null # 187| } # 188| if (!gr_stayopen) { # 189|-> fclose(grf); # 190| grf = NULL; # 191| } Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sample/sample_plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sample/sample_plugin.c: scope_hint: In function 'find_in_path.part.0' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sample/sample_plugin.c:162:19: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'path' where non-null expected <built-in>: note: argument 1 of '__builtin_strchr' must be non-null # 160| path = path0 = strdup(path ? path : _PATH_DEFPATH); # 161| do { # 162|-> if ((cp = strchr(path, ':'))) # 163| *cp = '\0'; # 164| snprintf(pathbuf, sizeof(pathbuf), "%s/%s", *path ? path : ".", Error: CLANG_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sample/sample_plugin.c:289:13: warning[unix.Malloc]: Potential leak of memory pointed to by 'cp' # 287| if (editor_path != editor) # 288| free(editor); # 289|-> nargv = reallocarray(NULL, (size_t)nargc + 1 + (size_t)nfiles + 1, # 290| sizeof(char *)); # 291| if (nargv == NULL) { Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/alias.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/audit.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/auth/pam.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/auth/sudo_auth.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/b64_decode.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/b64_encode.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/check.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/check_aliases.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers_csv.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers_json.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers_ldif.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers_merge.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/cvtsudoers_pwutil.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/defaults.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/display.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/editor.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/env.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/env_pattern.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/file.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/find_path.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/fmtsudoers.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/fmtsudoers_cvt.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-457): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c: scope_hint: In function ‘yyparse’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:611:7: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:596:9: note: in expansion of macro ‘YYCOPY’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:1151:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:596:9: note: in expansion of macro ‘YYCOPY’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:1151:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:596:9: note: in expansion of macro ‘YYCOPY’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:1151:9: note: in expansion of macro ‘YYSTACK_RELOCATE’ # 609| #endif # 610| # 611|-> #if defined YYCOPY_NEEDED && YYCOPY_NEEDED # 612| /* Copy COUNT objects from SRC to DST. The source and destination do # 613| not overlap. */ Error: GCC_ANALYZER_WARNING (CWE-457): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/getdate.c:1278:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’ # 1276| /* If YYLEN is nonzero, implement the default value of the action: # 1277| '$$ = $1'. # 1278|-> # 1279| Otherwise, the following line sets YYVAL to garbage. # 1280| This behavior is undocumented and Bison Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/gram.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/iolog.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-124): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c: scope_hint: In function 'sudo_ldap_join_uri' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c:169:16: warning[-Wanalyzer-out-of-bounds]: heap-based buffer underwrite sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c:64: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c:1582:10: note: in expansion of macro 'STAILQ_EMPTY' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c:165:9: note: in expansion of macro 'STAILQ_FOREACH' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap.c:165:9: note: in expansion of macro 'STAILQ_FOREACH' # 167| *cp++ = ' '; # 168| } # 169|-> cp[-1] = '\0'; # 170| } # 171| debug_return_str(buf); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_conf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_innetgr.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c: scope_hint: In function 'sudo_ldap_parse_option' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:82:16: warning[-Wanalyzer-null-dereference]: dereference of NULL 'cp' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:37: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:370:5: note: in expansion of macro 'TAILQ_INIT' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:573:14: note: in expansion of macro 'TAILQ_EMPTY' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:394:9: note: in expansion of macro 'TAILQ_CONCAT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:394:9: note: in expansion of macro 'TAILQ_CONCAT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers_debug.h:22: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:47: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:204:9: note: in expansion of macro 'sudo_debug_printf2' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:321:9: note: in expansion of macro 'sudo_debug_exit_bool' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:63:5: note: in expansion of macro 'debug_return_bool' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/ldap_util.c:424:13: note: in expansion of macro 'TAILQ_INSERT_TAIL' # 80| if (cp != NULL && cp > var) { # 81| val = cp + 1; # 82|-> op = cp[-1]; /* peek for += or -= cases */ # 83| if (op == '+' || op == '-') { # 84| /* case var+=val or var-=val */ Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-415): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c: scope_hint: In function 'client_closure_free' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:667:9: warning[-Wanalyzer-double-free]: double-'free' of '*buf.data' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:67: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:596:5: note: in expansion of macro 'STAILQ_FOREACH' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:596:5: note: in expansion of macro 'STAILQ_FOREACH' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' # 665| while ((buf = TAILQ_FIRST(&closure->write_bufs)) != NULL) { # 666| TAILQ_REMOVE(&closure->write_bufs, buf, entries); # 667|-> free(buf->data); # 668| free(buf); # 669| } Error: GCC_ANALYZER_WARNING (CWE-416): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:667:17: warning[-Wanalyzer-use-after-free]: use after 'free' of 'buf' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:596:5: note: in expansion of macro 'STAILQ_FOREACH' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:596:5: note: in expansion of macro 'STAILQ_FOREACH' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:708:14: note: in expansion of macro 'TAILQ_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/log_client.c:666:9: note: in expansion of macro 'TAILQ_REMOVE' # 665| while ((buf = TAILQ_FIRST(&closure->write_bufs)) != NULL) { # 666| TAILQ_REMOVE(&closure->write_bufs, buf, entries); # 667|-> free(buf->data); # 668| free(buf); # 669| } Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/logging.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/lookup.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/match.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-457): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/match.c:320: error[uninitvar]: Uninitialized variable: &m_user.entries # 318| m_user.type = WORD; # 319| m_user.negated = false; # 320|-> TAILQ_INSERT_HEAD(&_user_list, &m_user, entries); # 321| user_list = &_user_list; # 322| matching_user = NULL; Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/match_addr.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-457): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/match_addr.c:122: error[legacyUninitvar]: Uninitialized variable: family # 120| } # 121| # 122|-> if (family == AF_INET) { # 123| if (strchr(m, '.')) { # 124| if (inet_pton(AF_INET, m, &mask.ip4) != 1) { Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/match_command.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/parse_ldif.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/policy.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/prompt.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/pwutil.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/pwutil_impl.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/redblack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sssd.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/strvec_join.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers_cb.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers_ctx_free.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c: scope_hint: In function ‘find_sessions’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c:1503:8: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(dir)’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c:62: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:256:31: note: in definition of macro ‘debug_return_int’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c:71: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c:1588:14: note: in expansion of macro ‘sudo_regex_compile’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:256:31: note: in definition of macro ‘debug_return_int’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:256:31: note: in definition of macro ‘debug_return_int’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoreplay.c: scope_hint: In function ‘find_sessions’ # 1501| /* XXX - would be faster to use openat() and relative names */ # 1502| sdlen = strlcpy(pathbuf, dir, sizeof(pathbuf)); # 1503|-> if (sdlen + 1 >= sizeof(pathbuf)) { # 1504| errno = ENAMETOOLONG; # 1505| sudo_fatal("%s/", dir); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-124): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c: scope_hint: In function ‘main’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c:310:15: warning[-Wanalyzer-out-of-bounds]: heap-based buffer underwrite sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:41: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c:52: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c:121:5: note: in expansion of macro ‘sudo_warn_set_locale_func’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:46: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers.c:276:31: note: in expansion of macro ‘sudo_basename’ # 308| *cp++ = ' '; # 309| } # 310|-> *--cp = '\0'; # 311| } # 312| Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/testsudoers_pwutil.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/timestamp.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:519:46: warning[-Wanalyzer-malloc-leak]: leak of 'sudoers_create_buffer(open_sudoers(*pl.path, 0, 0, & keepopen), 16384)' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1458:27: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1458:27: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5220:10: note: in expansion of macro 'yy_delete_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5226:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5226:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5227:3: note: in expansion of macro 'YY_CURRENT_BUFFER_LVALUE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5232:9: note: in expansion of macro 'yyfree' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:279:31: note: in expansion of macro 'SLIST_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1461:9: note: in expansion of macro 'SLIST_REMOVE_HEAD' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5196:24: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5147:10: note: in expansion of macro 'yy_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5345:20: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5156:14: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' # 517| # 518| /* We provide macros for accessing buffer states in case in the # 519|-> * future we want to put the buffer states in a more general # 520| * "scanner state". # 521| * Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'yy_get_next_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:4918:18: warning[-Wanalyzer-malloc-leak]: leak of '*b.yy_ch_buf' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:4920:41: note: in expansion of macro 'yyrealloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'yy_get_next_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:4920:41: note: in expansion of macro 'yyrealloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'yy_get_next_buffer' # 4916| { # 4917| int new_size = b->yy_buf_size * 2; # 4918|-> # 4919| if ( new_size <= 0 ) # 4920| b->yy_buf_size += b->yy_buf_size / 8; Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5156:12: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1458:27: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1458:27: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5220:10: note: in expansion of macro 'yy_delete_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5226:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5226:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5227:3: note: in expansion of macro 'YY_CURRENT_BUFFER_LVALUE' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5232:9: note: in expansion of macro 'yyfree' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:41: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_queue.h:279:31: note: in expansion of macro 'SLIST_NEXT' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1461:9: note: in expansion of macro 'SLIST_REMOVE_HEAD' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5205:26: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5147:10: note: in expansion of macro 'yy_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5345:20: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5156:14: note: in expansion of macro 'YY_CURRENT_BUFFER' # 5154| { # 5155| # 5156|-> /* TODO. We should be able to replace this entire function body # 5157| * with # 5158| * yypop_buffer_state(); Error: GCC_ANALYZER_WARNING (CWE-476): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5167:41: warning[-Wanalyzer-null-dereference]: dereference of NULL 'yy_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:46: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1243:15: note: in expansion of macro 'sudo_strsplit' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1414:25: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5147:10: note: in expansion of macro 'yy_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5345:20: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5356:49: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5156:14: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5167:16: note: in expansion of macro 'YY_CURRENT_BUFFER_LVALUE' # 5165| if ( YY_CURRENT_BUFFER ) # 5166| { # 5167|-> /* Flush out information for old buffer. */ # 5168| *(yy_c_buf_p) = (yy_hold_char); # 5169| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5206:12: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(64)' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5196:24: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_create_buffer' # 5204| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); # 5205| # 5206|-> b->yy_buf_size = size; # 5207| # 5208| /* yy_ch_buf has to be 2 characters longer than the size given because Error: CPPCHECK_WARNING (CWE-476): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5246: warning[nullPointer]: Possible null pointer dereference: b # 5244| */ # 5245| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) # 5246|-> # 5247| { # 5248| int oerrno = errno; Error: GCC_ANALYZER_WARNING (CWE-476): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5246:19: warning[-Wanalyzer-null-dereference]: dereference of NULL 'b' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5130:10: note: in expansion of macro 'yyrestart' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5134:9: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5345:20: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5134:9: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5136:13: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5136:13: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5139:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5139:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5139:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' # 5244| */ # 5245| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) # 5246|-> # 5247| { # 5248| int oerrno = errno; Error: CPPCHECK_WARNING (CWE-476): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5247: warning[nullPointer]: Possible null pointer dereference: b # 5245| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) # 5246| # 5247|-> { # 5248| int oerrno = errno; # 5249| Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5349:6: warning[-Wanalyzer-malloc-leak]: leak of 'sudoers_create_buffer(fp, 16384)' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1243:15: note: in expansion of macro 'sudo_strsplit' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1414:25: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5192:21: note: in expansion of macro 'yy_create_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5196:24: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5239:17: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5267:10: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5286:12: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5244:2: note: in expansion of macro 'yy_flush_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5253:21: note: in expansion of macro 'YY_CURRENT_BUFFER' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5211:9: note: in expansion of macro 'yy_init_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5147:10: note: in expansion of macro 'yy_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5345:20: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5356:49: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_switch_to_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5155:2: note: in expansion of macro 'yyensure_buffer_stack' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5156:14: note: in expansion of macro 'YY_CURRENT_BUFFER' # 5347| # 5348| /* Allocates the stack if it does not exist. # 5349|-> * Guarantees space for at least one push. # 5350| */ # 5351| static void yyensure_buffer_stack (void) Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_scan_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5460:32: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(n)' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5444:17: note: in expansion of macro 'yy_scan_bytes' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5453:24: note: in expansion of macro 'yyalloc' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c: scope_hint: In function 'sudoers_scan_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5462:6: note: in expansion of macro 'yy_scan_buffer' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:5394:17: note: in expansion of macro 'yy_scan_buffer' # 5458| n = (yy_size_t) (_yybytes_len + 2); # 5459| buf = (char *) yyalloc( n ); # 5460|-> if ( ! buf ) # 5461| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); # 5462| Error: GCC_ANALYZER_WARNING (CWE-416): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l: scope_hint: In function 'read_dir_files' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1037:32: warning[-Wanalyzer-use-after-free]: use after 'reallocarray' of 'paths' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:968:32: note: in expansion of macro 'NAMLEN' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:968:32: note: in expansion of macro 'NAMLEN' # 1035| closedir(dir); # 1036| for (i = 0; i < count; i++) { # 1037|-> sudo_rcstr_delref(paths[i]->path); # 1038| free(paths[i]); # 1039| } Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l: scope_hint: In function 'switch_dir' sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.l:1058:9: warning[-Wanalyzer-null-argument]: use of NULL 'paths' where non-null expected sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke.c:281: included_from: Included from here. /usr/include/stdlib.h:970:13: note: argument 1 of 'qsort' must be non-null # 1056| if (count > 0) { # 1057| /* Sort the list as an array in reverse order. */ # 1058|-> qsort(paths, count, sizeof(*paths), pl_compare); # 1059| # 1060| /* Build up the list in sorted order. */ Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/toke_util.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c: scope_hint: In function ‘testsudoers_getgrnam’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c:321:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c: scope_hint: In function ‘testsudoers_getgrnam’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c:33: included_from: Included from here. /usr/include/stdio.h:184:12: note: argument 1 of ‘fclose’ must be non-null # 319| } # 320| if (!gr_stayopen) { # 321|-> fclose(grf); # 322| grf = NULL; # 323| } Error: GCC_ANALYZER_WARNING (CWE-688): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c: scope_hint: In function ‘testsudoers_getgrgid’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c:339:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/tsgetgrpw.c: scope_hint: In function ‘testsudoers_getgrgid’ /usr/include/stdio.h:184:12: note: argument 1 of ‘fclose’ must be non-null # 337| } # 338| if (!gr_stayopen) { # 339|-> fclose(grf); # 340| grf = NULL; # 341| } Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-562): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:542: error[autoVariables]: Address of local auto-variable assigned to a function parameter. # 540| if (lineno > 0) { # 541| (void)snprintf(linestr, sizeof(linestr), "+%d", lineno); # 542|-> editor_argv[ac++] = linestr; // -V507 # 543| } # 544| editor_argv[ac++] = (char *)"--"; Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c: scope_hint: In function ‘reparse_sudoers’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:665:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*sp.tpath, "r+")’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/sudoers.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:66: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:658:16: note: in expansion of macro ‘TAILQ_LAST’ # 663| # 664| /* Clean slate for each parse */ # 665|-> if (!init_defaults()) # 666| sudo_fatalx("%s", U_("unable to initialize sudoers default values")); # 667| init_parser(ctx, sp->opath); Error: GCC_ANALYZER_WARNING (CWE-401): sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:665:12: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*sp.tpath, "r+")’ sudo-1.9.15-build/sudo-1.9.15p5/plugins/sudoers/visudo.c:658:16: note: in expansion of macro ‘TAILQ_LAST’ # 663| # 664| /* Clean slate for each parse */ # 665|-> if (!init_defaults()) # 666| sudo_fatalx("%s", U_("unable to initialize sudoers default values")); # 667| init_parser(ctx, sp->opath); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/plugins/system_group/system_group.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/conversation.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/copy_file.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/edit_open.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/env_hooks.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/exec_iolog.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/exec_monitor.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_monitor.c: scope_hint: In function ‘exec_cmnd_pty’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_monitor.c:362:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_fds[0], 0, 0)’ # 360| # 361| /* Wire up standard fds, note that stdout/stderr may be pipes. */ # 362|-> if (dup3(io_fds[SFD_STDIN], STDIN_FILENO, 0) == -1) # 363| sudo_fatal("dup3"); # 364| if (io_fds[SFD_STDIN] != io_fds[SFD_FOLLOWER]) Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_monitor.c:366:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_fds[1], 1, 0)’ # 364| if (io_fds[SFD_STDIN] != io_fds[SFD_FOLLOWER]) # 365| close(io_fds[SFD_STDIN]); # 366|-> if (dup3(io_fds[SFD_STDOUT], STDOUT_FILENO, 0) == -1) # 367| sudo_fatal("dup3"); # 368| if (io_fds[SFD_STDOUT] != io_fds[SFD_FOLLOWER]) Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_monitor.c:370:8: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_fds[2], 2, 0)’ # 368| if (io_fds[SFD_STDOUT] != io_fds[SFD_FOLLOWER]) # 369| close(io_fds[SFD_STDOUT]); # 370|-> if (dup3(io_fds[SFD_STDERR], STDERR_FILENO, 0) == -1) # 371| sudo_fatal("dup3"); # 372| if (io_fds[SFD_STDERR] != io_fds[SFD_FOLLOWER]) Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:615:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_pipe[0][0], 0, 0)’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ # 613| /* Replace stdin/stdout/stderr with pipes as needed and exec. */ # 614| if (io_pipe[STDIN_FILENO][0] != -1) { # 615|-> if (dup3(io_pipe[STDIN_FILENO][0], STDIN_FILENO, 0) == -1) # 616| sudo_fatal("dup3"); # 617| close(io_pipe[STDIN_FILENO][0]); Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:621:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_pipe[1][1], 1, 0)’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:514:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ # 619| } # 620| if (io_pipe[STDOUT_FILENO][0] != -1) { # 621|-> if (dup3(io_pipe[STDOUT_FILENO][1], STDOUT_FILENO, 0) == -1) # 622| sudo_fatal("dup3"); # 623| close(io_pipe[STDOUT_FILENO][0]); Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:627:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(io_pipe[2][1], 2, 0)’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:504:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/exec_nopty.c:524:13: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_compat.h:156:27: note: in definition of macro ‘ISSET’ # 625| } # 626| if (io_pipe[STDERR_FILENO][0] != -1) { # 627|-> if (dup3(io_pipe[STDERR_FILENO][1], STDERR_FILENO, 0) == -1) # 628| sudo_fatal("dup3"); # 629| close(io_pipe[STDERR_FILENO][0]); Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/exec_preload.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/exec_pty.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/limits.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/load_plugins.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/parse_args.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c: scope_hint: In function ‘closefrom_except’ sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c:163:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(*pfd.lowfd, *pfd.highfd)’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_conf.h:28: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:39: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c:33: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c:132:5: note: in expansion of macro ‘TAILQ_FOREACH’ sudo-1.9.15-build/sudo-1.9.15p5/src/preserve_fds.c:161:5: note: in expansion of macro ‘TAILQ_FOREACH_REVERSE’ # 161| TAILQ_FOREACH_REVERSE(pfd, pfds, preserved_fd_list, entries) { # 162| if (pfd->lowfd != pfd->highfd) { # 163|-> if (dup2(pfd->lowfd, pfd->highfd) == -1) { # 164| sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO, # 165| "dup2(%d, %d): %s", pfd->lowfd, pfd->highfd, Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c: scope_hint: In function ‘selinux_relabel_tty’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:256:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(se_state.ttyfd, ptyfd, flags)’ sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:40: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:57: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:184:5: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c: scope_hint: In function ‘selinux_relabel_tty’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:38: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:38: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:248:13: note: in expansion of macro ‘ISSET’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:254:13: note: in expansion of macro ‘ISSET’ # 254| if (ISSET(oflags, FD_CLOEXEC)) # 255| flags |= O_CLOEXEC; # 256|-> if (dup3(se_state.ttyfd, ptyfd, flags) == -1) { # 257| sudo_warn("dup3"); # 258| goto bad; Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:276:38: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(se_state.ttyfd, fd)’ sudo-1.9.15-build/sudo-1.9.15p5/include/sudo_debug.h:378:5: note: in expansion of macro ‘sudo_debug_printf2’ sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:184:5: note: in expansion of macro ‘sudo_debug_printf’ sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:45: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/selinux.c:276:17: note: in expansion of macro ‘sudo_isatty’ # 274| fcntl(se_state.ttyfd, F_GETFL, 0) & ~O_NONBLOCK); # 275| for (fd = STDIN_FILENO; fd <= STDERR_FILENO; fd++) { # 276|-> if (sudo_isatty(fd, &sb) && dup2(se_state.ttyfd, fd) == -1) { # 277| sudo_warn("dup2"); # 278| goto bad; Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/sesh.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.c: scope_hint: In function ‘fix_fds’ sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.c:376:32: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(__open_alias("/dev/null", 2, 420), 0)’ # 374| if (devnull == -1) # 375| sudo_fatal(U_("unable to open %s"), _PATH_DEVNULL); # 376|-> if (miss[STDIN_FILENO] && dup2(devnull, STDIN_FILENO) == -1) # 377| sudo_fatal("dup2"); # 378| if (miss[STDOUT_FILENO] && dup2(devnull, STDOUT_FILENO) == -1) Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.c:378:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(__open_alias("/dev/null", 2, 420), 1)’ # 376| if (miss[STDIN_FILENO] && dup2(devnull, STDIN_FILENO) == -1) # 377| sudo_fatal("dup2"); # 378|-> if (miss[STDOUT_FILENO] && dup2(devnull, STDOUT_FILENO) == -1) # 379| sudo_fatal("dup2"); # 380| if (miss[STDERR_FILENO] && dup2(devnull, STDERR_FILENO) == -1) Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.c:380:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(__open_alias("/dev/null", 2, 420), 2)’ # 378| if (miss[STDOUT_FILENO] && dup2(devnull, STDOUT_FILENO) == -1) # 379| sudo_fatal("dup2"); # 380|-> if (miss[STDERR_FILENO] && dup2(devnull, STDERR_FILENO) == -1) # 381| sudo_fatal("dup2"); # 382| if (devnull > STDERR_FILENO) Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/sudo_edit.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/suspend_parent.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: sudo-1.9.15-build/sudo-1.9.15p5/src/tgetpass.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): sudo-1.9.15-build/sudo-1.9.15p5/src/tgetpass.c: scope_hint: In function ‘sudo_askpass’ sudo-1.9.15-build/sudo-1.9.15p5/src/tgetpass.c:314:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup3(pfd[1], 1, 0)’ sudo-1.9.15-build/sudo-1.9.15p5/src/sudo.h:40: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/tgetpass.c:44: included_from: Included from here. sudo-1.9.15-build/sudo-1.9.15p5/src/tgetpass.c:308:13: note: in expansion of macro ‘sudo_debug_fork’ # 312| if (child == 0) { # 313| /* child, set stdout to write side of the pipe */ # 314|-> if (dup3(pfd[1], STDOUT_FILENO, 0) == -1) { # 315| sudo_warn("dup3"); # 316| _exit(255);