plymouth-24.004.60-12.fc41

List of Defects

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c: scope_hint: In function ‘ply_boot_client_request_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:215:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘request’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:24: included_from: Included from here.
#  213|   
#  214|           request = calloc (1, sizeof(ply_boot_client_request_t));
#  215|->         request->client = client;
#  216|           request->command = strdup (request_command);
#  217|           if (request_argument != NULL)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c: scope_hint: In function ‘ply_boot_client_process_incoming_replies’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:324:35: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(p)’
#  322|                           if (*q == '\0') {
#  323|                                   ply_array_add_pointer_element (array, strdup (p));
#  324|->                                 p = q + 1;
#  325|                           }
#  326|                   }

Error: CLANG_WARNING: [#def3]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:324:35: warning[unix.Malloc]: Potential memory leak
#  322|                           if (*q == '\0') {
#  323|                                   ply_array_add_pointer_element (array, strdup (p));
#  324|->                                 p = q + 1;
#  325|                           }
#  326|                   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def4]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c: scope_hint: In function ‘ply_boot_client_get_request_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:377:33: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘strdup(*request.command)’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null
#  375|           if (request->argument == NULL) {
#  376|                   request_string = strdup (request->command);
#  377|->                 *request_size = strlen (request_string) + 1;
#  378|                   return request_string;
#  379|           }

Error: COMPILER_WARNING (CWE-252): [#def5]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c: scope_hint: In function ‘ply_boot_client_get_request_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/ply-boot-client.c:384:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  384 |         asprintf (&request_string, "%s\002%c%s", request->command,
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  385 |                   (char) (strlen (request->argument) + 1), request->argument);
#      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  382|   
#  383|           request_string = NULL;
#  384|->         asprintf (&request_string, "%s\002%c%s", request->command,
#  385|                     (char) (strlen (request->argument) + 1), request->argument);
#  386|           *request_size = strlen (request_string) + 1;

Error: CPPCHECK_WARNING: [#def6]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘split_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:113:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘args’
#  111|           for (p = command; *p != '\0'; p++) {
#  112|                   if (*p == delimiter) {
#  113|->                         args[i++] = strndup (q, p - q);
#  114|   
#  115|                           while (*p == delimiter) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:126:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘args’
#  124|           }
#  125|   
#  126|->         args[i++] = strndup (q, p - q);
#  127|   
#  128|           return args;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def9]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘answer_via_command’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:167:17: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘*<unknown>’ where non-null expected
/usr/include/bits/sigstksz.h:24: included_from: Included from here.
/usr/include/signal.h:328: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:27: included_from: Included from here.
/usr/include/unistd.h:599:12: note: argument 1 of ‘execvp’ must be non-null
#  165|                   }
#  166|   
#  167|->                 execvp (args[0], args);
#  168|                   ply_trace ("could not run command: %m");
#  169|                   _exit (127);

Error: COMPILER_WARNING (CWE-252): [#def10]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_password_answer’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:275:25: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  275 |                         write (STDOUT_FILENO, answer, strlen (answer));
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  273|                           }
#  274|                   } else {
#  275|->                         write (STDOUT_FILENO, answer, strlen (answer));
#  276|                           exit_status = 0;
#  277|                   }

Error: COMPILER_WARNING (CWE-252): [#def11]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_question_answer’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:313:25: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  313 |                         write (STDOUT_FILENO, answer, strlen (answer));
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  311|                           answer_via_command (answer_state->command, answer, NULL);
#  312|                   else
#  313|->                         write (STDOUT_FILENO, answer, strlen (answer));
#  314|                   if (answer_state->pause) {
#  315|                           ply_boot_client_tell_daemon_to_progress_unpause (client,

Error: COMPILER_WARNING (CWE-252): [#def12]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_key_answer’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:358:17: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  358 |                 write (STDOUT_FILENO, answer, strlen (answer));
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  356|                   answer_via_command (answer_state->command, answer, NULL);
#  357|           else if (answer != NULL)
#  358|->                 write (STDOUT_FILENO, answer, strlen (answer));
#  359|   
#  360|           ply_event_loop_exit (answer_state->state->loop, 0);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def13]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_password_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:479:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘password_answer_state’
#  477|   
#  478|           password_answer_state = calloc (1, sizeof(password_answer_state_t));
#  479|->         password_answer_state->state = state;
#  480|           password_answer_state->command = program;
#  481|           password_answer_state->prompt = prompt;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def14]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_question_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:531:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘question_answer_state’
#  529|   
#  530|           question_answer_state = calloc (1, sizeof(question_answer_state_t));
#  531|->         question_answer_state->state = state;
#  532|           question_answer_state->command = program;
#  533|           question_answer_state->prompt = prompt;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def15]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_keystroke_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:609:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘key_answer_state’
#  607|   
#  608|           key_answer_state = calloc (1, sizeof(key_answer_state_t));
#  609|->         key_answer_state->state = state;
#  610|           key_answer_state->keys = keys;
#  611|           key_answer_state->command = program;

Error: COMPILER_WARNING (CWE-252): [#def16]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_system_update_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:870:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  870 |                 asprintf (&progress_string, "%d", progress);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  868|                   char *progress_string = NULL;
#  869|   
#  870|->                 asprintf (&progress_string, "%d", progress);
#  871|   
#  872|                   ply_boot_client_system_update (state->client,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def17]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: scope_hint: In function ‘ply_boot_splash_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98:28: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘splash’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:25: included_from: Included from here.
#   96|           splash = calloc (1, sizeof(ply_boot_splash_t));
#   97|           splash->loop = NULL;
#   98|->         splash->theme_path = strdup (theme_path);
#   99|           splash->plugin_dir = strdup (plugin_dir);
#  100|           splash->module_handle = NULL;

Error: COMPILER_WARNING (CWE-252): [#def18]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: scope_hint: In function ‘ply_boot_splash_load’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:233:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  233 |         asprintf (&module_path, "%s%s.so",
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  234 |                   splash->plugin_dir, module_name);
#      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  231|           module_name = ply_key_file_get_value (key_file, "Plymouth Theme", "ModuleName");
#  232|   
#  233|->         asprintf (&module_path, "%s%s.so",
#  234|                     splash->plugin_dir, module_name);
#  235|           free (module_name);

Error: CPPCHECK_WARNING: [#def19]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-688): [#def20]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c: scope_hint: In function ‘get_terminal’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:760:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘device_name’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:39: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:149:9: note: in expansion of macro ‘ply_logger_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:973:9: note: in expansion of macro ‘ply_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.h:25: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.h:29: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.h:25: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:20: included_from: Included from here.
/usr/include/string.h:159:12: note: argument 1 of ‘strncmp’ must be non-null
#  758|           ply_terminal_t *terminal;
#  759|   
#  760|->         if (strncmp (device_name, "/dev/", strlen ("/dev/")) == 0)
#  761|                   full_name = strdup (device_name);
#  762|           else

Error: COMPILER_WARNING (CWE-252): [#def21]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c: scope_hint: In function ‘get_terminal’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:763:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  763 |                 asprintf (&full_name, "/dev/%s", device_name);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  761|                   full_name = strdup (device_name);
#  762|           else
#  763|->                 asprintf (&full_name, "/dev/%s", device_name);
#  764|   
#  765|           if (strcmp (full_name, "/dev/tty0") == 0 ||

Error: GCC_ANALYZER_WARNING (CWE-688): [#def22]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:765:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘full_name’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:149:9: note: in expansion of macro ‘ply_logger_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:973:9: note: in expansion of macro ‘ply_trace’
/usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null
#  763|                   asprintf (&full_name, "/dev/%s", device_name);
#  764|   
#  765|->         if (strcmp (full_name, "/dev/tty0") == 0 ||
#  766|               strcmp (full_name, "/dev/tty") == 0 ||
#  767|               strcmp (full_name, ply_terminal_get_name (manager->local_console_terminal)) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def23]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c: scope_hint: In function ‘on_input’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:253:20: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘key_state’
#  251|                   symbol = xkb_state_key_get_one_sym (input_device->keyboard_state, keycode);
#  252|   
#  253|->                 if (key_state != PLY_KEY_HELD) {
#  254|                           updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
#  255|   

Error: COMPILER_WARNING (CWE-457): [#def24]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c: scope_hint: In function ‘on_input’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:253:20: warning[-Wmaybe-uninitialized]: ‘key_state’ may be used uninitialized
#  253 |                 if (key_state != PLY_KEY_HELD) {
#      |                    ^
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:193:37: note: ‘key_state’ was declared here
#  193 |                 ply_key_direction_t key_state;
#      |                                     ^~~~~~~~~
#  251|                   symbol = xkb_state_key_get_one_sym (input_device->keyboard_state, keycode);
#  252|   
#  253|->                 if (key_state != PLY_KEY_HELD) {
#  254|                           updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
#  255|   

Error: CLANG_WARNING: [#def25]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:253:31: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value
#  251|                   symbol = xkb_state_key_get_one_sym (input_device->keyboard_state, keycode);
#  252|   
#  253|->                 if (key_state != PLY_KEY_HELD) {
#  254|                           updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
#  255|   

Error: COMPILER_WARNING (CWE-457): [#def26]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:254:41: warning[-Wmaybe-uninitialized]: ‘xkb_key_direction’ may be used uninitialized
#  254 |                         updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
#      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:194:40: note: ‘xkb_key_direction’ was declared here
#  194 |                 enum xkb_key_direction xkb_key_direction;
#      |                                        ^~~~~~~~~~~~~~~~~
#  252|   
#  253|                   if (key_state != PLY_KEY_HELD) {
#  254|->                         updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
#  255|   
#  256|                           if ((updated_state & XKB_STATE_LEDS) != 0) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def27]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c: scope_hint: In function ‘ply_input_device_get_state’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xkb_state’
#  479|           ply_xkb_keyboard_state_t *xkb_state = calloc (1, sizeof(ply_xkb_keyboard_state_t));
#  480|   
#  481|->         xkb_state->mods_depressed = xkb_state_serialize_mods (input_device->keyboard_state,
#  482|                                                                 XKB_STATE_DEPRESSED);
#  483|           xkb_state->mods_latched = xkb_state_serialize_mods (input_device->keyboard_state,

Error: CPPCHECK_WARNING: [#def28]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def29]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:179:17: warning[deadcode.DeadStores]: Although the value stored to 'size' is used in the enclosing expression, the value is never actually read from 'size'
#  177|           size_t size;
#  178|   
#  179|->         while ((size = ply_buffer_get_size (keyboard->line_buffer)) > 0) {
#  180|                   process_backspace (keyboard);
#  181|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def30]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c: scope_hint: In function ‘process_keyboard_input’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:192:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘keyboard_input’
#  190|           ply_list_node_t *node;
#  191|   
#  192|->         if (keyboard_input[0] == KEY_ESCAPE && character_size >= 2) {
#  193|                   /* Escape sequence */
#  194|                   ply_buffer_append_bytes (keyboard->line_buffer,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def31]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:528:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c: scope_hint: In function ‘ply_keyboard_add_backspace_handler’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:24: included_from: Included from here.
#  526|           ply_keyboard_closure_t *closure = calloc (1, sizeof(ply_keyboard_closure_t));
#  527|   
#  528|->         closure->function = function;
#  529|           closure->user_data = user_data;
#  530|           return closure;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def32]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c: scope_hint: In function ‘handle_kmsg_message’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:91:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘msgptr’
#   89|                   /* Messages end in \n, any following lines are machine readable. Actual multiline messages are expanded with unhexmangle_to_buffer */
#   90|                   msgptr = strchr (message, '\n');
#   91|->                 if (*msgptr && *msgptr != '\n')
#   92|                           msgptr--;
#   93|   

Error: COMPILER_WARNING (CWE-252): [#def33]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c: scope_hint: In function ‘handle_kmsg_message’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:132:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  132 |                 asprintf (&format_begin, "\033[0;%i;%im", bold_enabled, color);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  130|                           break;
#  131|                   }
#  132|->                 asprintf (&format_begin, "\033[0;%i;%im", bold_enabled, color);
#  133|   
#  134|                   message_substr = strtok_r (message, "\n", &saveptr);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def34]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:138:48: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘kmsg_message’
#  136|                           kmsg_message = calloc (1, sizeof(kmsg_message_t));
#  137|   
#  138|->                         kmsg_message->priority = priority;
#  139|                           kmsg_message->facility = facility;
#  140|                           kmsg_message->sequence = sequence;

Error: COMPILER_WARNING (CWE-252): [#def35]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:143:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  143 |                         asprintf (&new_message, "%s%s%s", format_begin, message_substr, "\033[0m");
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  141|                           kmsg_message->timestamp = timestamp;
#  142|   
#  143|->                         asprintf (&new_message, "%s%s%s", format_begin, message_substr, "\033[0m");
#  144|                           kmsg_message->message = strndup (new_message, strlen (new_message));
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def36]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c: scope_hint: In function ‘ply_kmsg_reader_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘kmsg_reader’
#  164|   {
#  165|           ply_kmsg_reader_t *kmsg_reader = calloc (1, sizeof(ply_kmsg_reader_t));
#  166|->         kmsg_reader->kmsg_trigger = ply_trigger_new (NULL);
#  167|           kmsg_reader->kmsg_messages = ply_list_new ();
#  168|   

Error: CPPCHECK_WARNING: [#def37]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def38]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_set_pixel’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:164:59: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*buffer.bytes + ((long unsigned int)y * *buffer.area.width + (long unsigned int)x) * 4’
#  162|           switch (buffer->device_rotation) {
#  163|           case PLY_PIXEL_BUFFER_ROTATE_UPRIGHT:
#  164|->                 buffer->bytes[y * buffer->area.width + x] = pixel_value;
#  165|                   break;
#  166|           case PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN:

Error: GCC_ANALYZER_WARNING (CWE-476): [#def39]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_push_clip_area’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:341:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_clip_area’
#  339|           new_clip_area = malloc (sizeof(*new_clip_area));
#  340|   
#  341|->         *new_clip_area = *clip_area;
#  342|           ply_pixel_buffer_adjust_area_for_device_scale (buffer, new_clip_area);
#  343|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def40]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_new_with_device_rotation’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:381:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘buffer’
#  379|           buffer = calloc (1, sizeof(ply_pixel_buffer_t));
#  380|   
#  381|->         buffer->updated_areas = ply_region_new ();
#  382|           buffer->bytes = (uint32_t *) calloc (height, width * sizeof(uint32_t));
#  383|           buffer->area.width = width;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def41]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_resize’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:991:46: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘ply_pixel_buffer_get_argb32_data(ply_pixel_buffer_new((long unsigned int)width, (long unsigned int)height))’
#  989|                   for (x = 0; x < width; x++) {
#  990|                           old_x = x * scale_x;
#  991|->                         bytes[x + y * width] =
#  992|                                   ply_pixel_buffer_interpolate (old_buffer, old_x, old_y);
#  993|                   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def42]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_rotate’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1033:54: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘ply_pixel_buffer_get_argb32_data(ply_pixel_buffer_new((long unsigned int)width, (long unsigned int)height))’
# 1031|                   for (x = 0; x < width; x++) {
# 1032|                           if (old_x < 0 || old_x > width || old_y < 0 || old_y > height)
# 1033|->                                 bytes[x + y * width] = 0;
# 1034|                           else
# 1035|                                   bytes[x + y * width] =

Error: GCC_ANALYZER_WARNING (CWE-476): [#def43]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1035:54: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘ply_pixel_buffer_get_argb32_data(ply_pixel_buffer_new((long unsigned int)width, (long unsigned int)height)) + (long unsigned int)(y * width + x) * 4’
# 1033|                                   bytes[x + y * width] = 0;
# 1034|                           else
# 1035|->                                 bytes[x + y * width] =
# 1036|                                           ply_pixel_buffer_interpolate (old_buffer, old_x, old_y);
# 1037|                           old_x += step_x;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def44]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c: scope_hint: In function ‘ply_pixel_buffer_tile’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1067:46: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘ply_pixel_buffer_get_argb32_data(ply_pixel_buffer_new((long unsigned int)width, (long unsigned int)height)) + (long unsigned int)(y * width + x) * 4’
# 1065|                   for (x = 0; x < width; x++) {
# 1066|                           old_x = x % old_width;
# 1067|->                         bytes[x + y * width] = old_bytes[old_x + old_y * old_width];
# 1068|                   }
# 1069|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def45]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c: scope_hint: In function ‘ply_pixel_display_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘display’
#   69|           display = calloc (1, sizeof(ply_pixel_display_t));
#   70|   
#   71|->         display->loop = ply_event_loop_get_default ();
#   72|           display->renderer = renderer;
#   73|           display->head = head;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def46]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-renderer.c: scope_hint: In function ‘ply_renderer_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:74:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘renderer’
#   72|           renderer = calloc (1, sizeof(struct _ply_renderer));
#   73|   
#   74|->         renderer->type = renderer_type;
#   75|   
#   76|           if (device_name != NULL)

Error: CLANG_WARNING: [#def47]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:72:9: warning[deadcode.DeadStores]: Value stored to 'characters' is never read
#   70|                   return;
#   71|   
#   72|->         characters = ply_rich_text_get_characters (rich_text);
#   73|           characters = (ply_rich_text_character_t **) ply_array_get_pointer_elements (rich_text->characters);
#   74|           for (size_t i = 0; characters[i] != NULL; i++) {

Error: CLANG_WARNING: [#def48]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:119:9: warning[deadcode.DeadStores]: Value stored to 'characters' is never read
#  117|                   return;
#  118|   
#  119|->         characters = ply_rich_text_get_characters (rich_text);
#  120|           characters = (ply_rich_text_character_t **) ply_array_get_pointer_elements (rich_text->characters);
#  121|           for (size_t i = 0; characters[i] != NULL; i++) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def49]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c: scope_hint: In function ‘ply_rich_text_character_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:160:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘character’
#  158|           ply_rich_text_character_t *character = calloc (1, sizeof(ply_rich_text_character_t));
#  159|           character->bytes = NULL;
#  160|->         character->length = 0;
#  161|   
#  162|           return character;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def50]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c: scope_hint: In function ‘ply_rich_text_set_character’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:267:27: warning[-Wanalyzer-malloc-leak]: leak of ‘*character.bytes’
#  265|           characters[character_index] = character;
#  266|           character->bytes = strdup (character_string);
#  267|->         character->length = length;
#  268|           character->style = style;
#  269|   }

Error: CPPCHECK_WARNING: [#def51]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def52]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1162:25: warning[deadcode.DeadStores]: Value stored to 'break_string' is never read
# 1160|   
# 1161|                   if (break_string == PLY_TERMINAL_EMULATOR_BREAK_STRING && terminal_emulator->state == PLY_TERMINAL_EMULATOR_TERMINAL_STATE_UNESCAPED) {
# 1162|->                         break_string = PLY_TERMINAL_EMULATOR_BREAK_STRING_NONE;
# 1163|                           break;
# 1164|                   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def53]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c: scope_hint: In function ‘ply_terminal_emulator_parse_substring’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1245:73: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_object’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:26: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:25: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c: scope_hint: In function ‘ply_terminal_emulator_parse_substring’
# 1243|                           } else if (iscntrl (*input_bytes) && *input_bytes != '\e') {
# 1244|                                   terminal_emulator->staged_command = ply_terminal_emulator_command_new ();
# 1245|->                                 terminal_emulator->staged_command->code = *input_bytes;
# 1246|                                   terminal_emulator->staged_command->type = PLY_TERMINAL_EMULATOR_COMMAND_TYPE_CONTROL_CHARACTER;
# 1247|                                   ply_list_append_data (terminal_emulator->pending_commands, terminal_emulator->staged_command);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def54]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1285:54: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_object’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c: scope_hint: In function ‘ply_terminal_emulator_parse_substring’
# 1283|                           } else if (iscntrl (*input_bytes) && *input_bytes != '\e') {
# 1284|                                   ply_terminal_emulator_command_t *nested_command = ply_terminal_emulator_command_new ();
# 1285|->                                 nested_command->code = *input_bytes;
# 1286|                                   nested_command->type = PLY_TERMINAL_EMULATOR_COMMAND_TYPE_CONTROL_CHARACTER;
# 1287|                                   ply_list_append_data (terminal_emulator->pending_commands, nested_command);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def55]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘terminal’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:24: included_from: Included from here.
#  128|           terminal = calloc (1, sizeof(ply_terminal_t));
#  129|   
#  130|->         terminal->loop = ply_event_loop_get_default ();
#  131|           terminal->vt_change_closures = ply_list_new ();
#  132|           terminal->input_closures = ply_list_new ();

Error: COMPILER_WARNING (CWE-252): [#def56]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:137:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  137 |                 asprintf (&terminal->name, "/dev/%s", device_name);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  135|                   terminal->name = strdup (device_name);
#  136|           else
#  137|->                 asprintf (&terminal->name, "/dev/%s", device_name);
#  138|   
#  139|           terminal->fd = -1;

Error: COMPILER_WARNING (CWE-252): [#def57]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_write’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:365:9: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  365 |         write (terminal->fd, string, size);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  363|           va_end (args);
#  364|   
#  365|->         write (terminal->fd, string, size);
#  366|           free (string);
#  367|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def58]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_watch_for_active_vt_change’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1031:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
# 1029|   
# 1030|           closure = calloc (1, sizeof(*closure));
# 1031|->         closure->handler = active_vt_changed_handler;
# 1032|           closure->user_data = user_data;
# 1033|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def59]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_watch_for_input’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1073:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
# 1071|   
# 1072|           closure = calloc (1, sizeof(*closure));
# 1073|->         closure->handler = input_handler;
# 1074|           closure->user_data = user_data;
# 1075|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def60]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-display.c: scope_hint: In function ‘ply_text_display_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:113:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘display’
#  111|   
#  112|           display->loop = NULL;
#  113|->         display->terminal = terminal;
#  114|   
#  115|           return display;

Error: COMPILER_WARNING (CWE-252): [#def61]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-display.c: scope_hint: In function ‘ply_text_display_write’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:246:9: warning[-Wunused-result]: ignoring return value of ‘vasprintf’ declared with attribute ‘warn_unused_result’
#  246 |         vasprintf (&string, format, args);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  244|           string = NULL;
#  245|           va_start (args, format);
#  246|->         vasprintf (&string, format, args);
#  247|           va_end (args);
#  248|   

Error: COMPILER_WARNING (CWE-252): [#def62]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:249:9: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  249 |         write (fd, string, strlen (string));
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  247|           va_end (args);
#  248|   
#  249|->         write (fd, string, strlen (string));
#  250|           free (string);
#  251|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def63]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c: scope_hint: In function ‘ply_text_progress_bar_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:81:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_bar’
#   79|   
#   80|           progress_bar->row = 0;
#   81|->         progress_bar->column = 0;
#   82|           progress_bar->number_of_columns = 0;
#   83|           progress_bar->number_of_rows = 0;

Error: COMPILER_WARNING (CWE-252): [#def64]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c: scope_hint: In function ‘get_os_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:116:9: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
#  116 |         read (fd, buf, sbuf.st_size);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  114|   
#  115|           buf = calloc (sbuf.st_size + 1, sizeof(char));
#  116|->         read (fd, buf, sbuf.st_size);
#  117|           close (fd);
#  118|   

Error: COMPILER_WARNING (CWE-252): [#def65]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:145:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  145 |                         asprintf (&os_string, " %s", pos);
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  143|                                   *pos2 = '\0';
#  144|                           }
#  145|->                         asprintf (&os_string, " %s", pos);
#  146|                   }
#  147|                   goto out;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def66]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c: scope_hint: In function ‘get_os_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:150:15: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘buf’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strstr’ must be non-null
#  148|           }
#  149|   
#  150|->         pos = strstr (buf, " release ");
#  151|   
#  152|           if (pos == NULL)

Error: COMPILER_WARNING (CWE-252): [#def67]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:164:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  164 |         asprintf (&os_string, " %s %s", buf, pos);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  162|   
#  163|           *pos2 = '\0';
#  164|->         asprintf (&os_string, " %s %s", buf, pos);
#  165|   
#  166|   out:

Error: GCC_ANALYZER_WARNING (CWE-476): [#def68]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c: scope_hint: In function ‘ply_text_step_bar_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:51:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘step_bar’
#   49|   
#   50|           step_bar->row = 0;
#   51|->         step_bar->column = 0;
#   52|           step_bar->number_of_columns = 0;
#   53|           step_bar->number_of_rows = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def69]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c: scope_hint: In function ‘ply_animation_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘animation’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:23: included_from: Included from here.
#   86|           animation = calloc (1, sizeof(ply_animation_t));
#   87|   
#   88|->         animation->frames = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#   89|           animation->frames_prefix = strdup (frames_prefix);
#   90|           animation->image_dir = strdup (image_dir);

Error: COMPILER_WARNING (CWE-252): [#def70]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c: scope_hint: In function ‘ply_animation_add_frames’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:249:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  249 |                         asprintf (&filename, "%s/%s", animation->image_dir, entries[i]->d_name);
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  247|   
#  248|                           filename = NULL;
#  249|->                         asprintf (&filename, "%s/%s", animation->image_dir, entries[i]->d_name);
#  250|   
#  251|                           if (!ply_animation_add_frame (animation, filename))

Error: COMPILER_WARNING (CWE-252): [#def71]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c: scope_hint: In function ‘ply_capslock_icon_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:65:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#   65 |         asprintf (&capslock_icon->image_name, "%s/capslock.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   63|           capslock_icon = calloc (1, sizeof(ply_capslock_icon_t));
#   64|   
#   65|->         asprintf (&capslock_icon->image_name, "%s/capslock.png", image_dir);
#   66|           capslock_icon->is_hidden = true;
#   67|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def72]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c: scope_hint: In function ‘ply_capslock_icon_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:66:34: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘capslock_icon’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:23: included_from: Included from here.
#   64|   
#   65|           asprintf (&capslock_icon->image_name, "%s/capslock.png", image_dir);
#   66|->         capslock_icon->is_hidden = true;
#   67|   
#   68|           return capslock_icon;

Error: CPPCHECK_WARNING: [#def73]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def74]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c: scope_hint: In function ‘ply_console_viewer_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105:40: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘console_viewer’
#  103|           console_viewer = calloc (1, sizeof(struct _ply_console_viewer));
#  104|   
#  105|->         console_viewer->message_labels = ply_list_new ();
#  106|           console_viewer->is_hidden = true;
#  107|   

Error: COMPILER_WARNING (CWE-252): [#def75]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c: scope_hint: In function ‘ply_entry_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:87:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#   87 |         asprintf (&image_path, "%s/entry.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   85|   
#   86|           image_path = NULL;
#   87|->         asprintf (&image_path, "%s/entry.png", image_dir);
#   88|           entry->text_field_image = ply_image_new (image_path);
#   89|           free (image_path);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def76]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c: scope_hint: In function ‘ply_entry_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:23: included_from: Included from here.
#   86|           image_path = NULL;
#   87|           asprintf (&image_path, "%s/entry.png", image_dir);
#   88|->         entry->text_field_image = ply_image_new (image_path);
#   89|           free (image_path);
#   90|   

Error: COMPILER_WARNING (CWE-252): [#def77]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:92:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#   92 |         asprintf (&image_path, "%s/bullet.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   90|   
#   91|           image_path = NULL;
#   92|->         asprintf (&image_path, "%s/bullet.png", image_dir);
#   93|           entry->bullet_image = ply_image_new (image_path);
#   94|           free (image_path);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def78]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c: scope_hint: In function ‘ply_image_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:91:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘image’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:31: included_from: Included from here.
#   89|           image = calloc (1, sizeof(ply_image_t));
#   90|   
#   91|->         image->filename = strdup (filename);
#   92|           image->buffer = NULL;
#   93|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def79]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c: scope_hint: In function ‘ply_image_load_png’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:203:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘rows’
/usr/include/libpng16/pngconf.h:51: included_from: Included from here.
/usr/include/libpng16/png.h:335: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:45: included_from: Included from here.
#  201|   
#  202|           for (row = 0; row < height; row++) {
#  203|->                 rows[row] = (png_byte *) &bytes[row * width];
#  204|           }
#  205|   

Error: CPPCHECK_WARNING: [#def80]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-688): [#def81]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: warning[-Wanalyzer-null-argument]: use of NULL ‘icon_text’ where non-null expected
/usr/include/string.h:156:12: note: argument 2 of ‘strcmp’ must be non-null
#  106|                   }
#  107|   
#  108|->                 if (strcmp (ply_keymap_metadata[i].name, icon_text) == 0) {
#  109|                           keymap_icon->keymap_name = strdup (icon_text);
#  110|                           keymap_icon->keymap_offset = ply_keymap_metadata[i].offset;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def82]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c: scope_hint: In function ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘icon_text’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.h:25: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-renderer.h:28: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.h:31: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.h:29: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:27: included_from: Included from here.
/usr/include/string.h:156:12: note: argument 2 of ‘strcmp’ must be non-null
#  106|                   }
#  107|   
#  108|->                 if (strcmp (ply_keymap_metadata[i].name, icon_text) == 0) {
#  109|                           keymap_icon->keymap_name = strdup (icon_text);
#  110|                           keymap_icon->keymap_offset = ply_keymap_metadata[i].offset;

Error: CLANG_WARNING: [#def83]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: warning[core.NonNullParamChecker]: Null pointer passed to 2nd parameter expecting 'nonnull'
#  106|                   }
#  107|   
#  108|->                 if (strcmp (ply_keymap_metadata[i].name, icon_text) == 0) {
#  109|                           keymap_icon->keymap_name = strdup (icon_text);
#  110|                           keymap_icon->keymap_offset = ply_keymap_metadata[i].offset;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def84]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c: scope_hint: In function ‘ply_keymap_icon_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:130:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘keymap_icon’
#  128|   
#  129|           keymap_icon = calloc (1, sizeof(ply_keymap_icon_t));
#  130|->         keymap_icon->display = display;
#  131|           keymap_icon->image_dir = strdup (image_dir);
#  132|           keymap_icon->is_hidden = true;

Error: COMPILER_WARNING (CWE-252): [#def85]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c: scope_hint: In function ‘ply_keymap_icon_load’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:167:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  167 |         asprintf (&filename, "%s/keyboard.png", keymap_icon->image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  165|                   return true;
#  166|   
#  167|->         asprintf (&filename, "%s/keyboard.png", keymap_icon->image_dir);
#  168|           icon_image = ply_image_new (filename);
#  169|           success = ply_image_load (icon_image);

Error: COMPILER_WARNING (CWE-252): [#def86]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:174:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  174 |                 asprintf (&filename, "%s/keymap-render.png", keymap_icon->image_dir);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  172|   
#  173|           if (success) {
#  174|->                 asprintf (&filename, "%s/keymap-render.png", keymap_icon->image_dir);
#  175|                   keymap_image = ply_image_new (filename);
#  176|                   success = ply_image_load (keymap_image);

Error: CLANG_WARNING: [#def87]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:190:17: warning[deadcode.DeadStores]: Value stored to 'label_width' is never read
#  188|           if (keymap_icon->has_prerendered_text) {
#  189|                   keymap_icon->keymap_buffer = ply_image_convert_to_pixel_buffer (keymap_image);
#  190|->                 label_width = SPACING + ply_pixel_buffer_get_width (keymap_icon->keymap_buffer);
#  191|                   keymap_icon->width = ply_pixel_buffer_get_width (keymap_icon->icon_buffer) + SPACING + keymap_icon->keymap_width;
#  192|           } else {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def88]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-label.c: scope_hint: In function ‘ply_label_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:73:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘label’
#   71|   
#   72|           label = calloc (1, sizeof(struct _ply_label));
#   73|->         label->red = 1;
#   74|           label->green = 1;
#   75|           label->blue = 1;

Error: CPPCHECK_WARNING: [#def89]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def90]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c: scope_hint: In function ‘ply_progress_animation_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86:36: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_animation’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:24: included_from: Included from here.
#   84|           progress_animation = calloc (1, sizeof(ply_progress_animation_t));
#   85|   
#   86|->         progress_animation->frames = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#   87|           progress_animation->frames_prefix = strdup (frames_prefix);
#   88|           progress_animation->image_dir = strdup (image_dir);

Error: COMPILER_WARNING (CWE-252): [#def91]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c: scope_hint: In function ‘ply_progress_animation_add_frames’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:358:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  358 |                         asprintf (&filename, "%s/%s", progress_animation->image_dir, entries[i]->d_name);
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  356|   
#  357|                           filename = NULL;
#  358|->                         asprintf (&filename, "%s/%s", progress_animation->image_dir, entries[i]->d_name);
#  359|   
#  360|                           r = ply_progress_animation_add_frame (progress_animation, filename);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def92]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c: scope_hint: In function ‘ply_progress_bar_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:72:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_bar’
#   70|           progress_bar = calloc (1, sizeof(ply_progress_bar_t));
#   71|   
#   72|->         progress_bar->is_hidden = true;
#   73|           progress_bar->fg_color = 0xffffffff; /* Solid white */
#   74|           progress_bar->bg_color = 0x01000000; /* Transparent */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def93]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c: scope_hint: In function ‘ply_throbber_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘throbber’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:23: included_from: Included from here.
#   92|           throbber = calloc (1, sizeof(ply_throbber_t));
#   93|   
#   94|->         throbber->frames = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#   95|           throbber->frames_prefix = strdup (frames_prefix);
#   96|           throbber->image_dir = strdup (image_dir);

Error: COMPILER_WARNING (CWE-252): [#def94]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c: scope_hint: In function ‘ply_throbber_add_frames’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:260:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  260 |                         asprintf (&filename, "%s/%s", throbber->image_dir, entries[i]->d_name);
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  258|   
#  259|                           filename = NULL;
#  260|->                         asprintf (&filename, "%s/%s", throbber->image_dir, entries[i]->d_name);
#  261|   
#  262|                           if (!ply_throbber_add_frame (throbber, filename))

Error: GCC_ANALYZER_WARNING (CWE-476): [#def95]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-array.c: scope_hint: In function ‘ply_array_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-array.c:47:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘array’
#   45|           array = calloc (1, sizeof(ply_array_t));
#   46|   
#   47|->         array->buffer = ply_buffer_new ();
#   48|           array->element_type = element_type;
#   49|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def96]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.c: scope_hint: In function ‘ply_buffer_remove_bytes’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.c:80:17: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.c:24: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.c:38: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.h:31:21: note: in definition of macro ‘MIN’
<built-in>: note: argument 1 of ‘__builtin_memmove’ must be non-null
#   78|                   buffer->size = 0;
#   79|           } else {
#   80|->                 memmove (buffer->data, buffer->data + bytes_to_remove,
#   81|                            buffer->size - bytes_to_remove);
#   82|                   buffer->size -= bytes_to_remove;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def97]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.c:84:36: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.h:31:21: note: in definition of macro ‘MIN’
#   82|                   buffer->size -= bytes_to_remove;
#   83|           }
#   84|->         buffer->data[buffer->size] = '\0';
#   85|   }
#   86|   

Error: COMPILER_WARNING (CWE-563): [#def98]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.h:29: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:22: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c: scope_hint: In function ‘process_backspace’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-buffer.h:60:20: warning[-Wunused-value]: value computed is not used
#   60 |              !_ran && (*bytes = (char *) ply_buffer_get_bytes (buffer),        \
#      |                    ^~
plymouth-24.004.60-build/plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:161:9: note: in expansion of macro ‘ply_buffer_borrow_bytes’
#  161 |         ply_buffer_borrow_bytes (keyboard->line_buffer, &bytes, &size, &capacity) {
#      |         ^~~~~~~~~~~~~~~~~~~~~~~
#   58|   #define ply_buffer_borrow_bytes(buffer, bytes, size, capacity)                 \
#   59|           for (bool _ran = false;                                                \
#   60|->              !_ran && (*bytes = (char *) ply_buffer_get_bytes (buffer),        \
#   61|                          *size = ply_buffer_get_size (buffer),                   \
#   62|                          *capacity = ply_buffer_get_capacity (buffer)),          \

Error: GCC_ANALYZER_WARNING (CWE-401): [#def99]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c: scope_hint: In function ‘ply_command_parser_get_options_for_command’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c:572:31: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c:24: included_from: Included from here.
#  570|                   void *option_result;
#  571|   
#  572|->                 option_result = va_arg (args, void *);
#  573|   
#  574|                   ply_command_parser_get_option_for_command (parser,

Error: GCC_ANALYZER_WARNING (CWE-688): [#def100]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c: scope_hint: In function ‘ply_command_read_option’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c:803:28: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘option_name’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-command-parser.c: scope_hint: In function ‘ply_command_read_option’
<built-in>: note: argument 1 of ‘__builtin_strchr’ must be non-null
#  801|   
#  802|           option_name = strdup (argument + strlen ("--"));
#  803|->         option_separator = strchr (option_name, '=');
#  804|   
#  805|           if (option_separator != NULL) {

Error: CPPCHECK_WARNING: [#def101]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def102]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:474:37: warning[unix.Malloc]: Use of memory after it is freed
#  472|           ply_list_remove_data (source->destinations, destination);
#  473|           ply_event_source_drop_reference (source);
#  474|->         assert (ply_list_find_node (source->destinations, destination) == NULL);
#  475|           ply_event_loop_update_source_event_mask (loop, source);
#  476|   }

Error: CLANG_WARNING: [#def103]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:789:34: warning[unix.Malloc]: Use of memory after it is freed
#  787|           ply_event_destination_free (destination);
#  788|   
#  789|->         if (ply_list_get_length (source->destinations) == 0) {
#  790|                   ply_trace ("no more destinations remaing for fd %d, removing source", source->fd);
#  791|                   ply_event_loop_remove_source (loop, source);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def104]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-hashtable.c: scope_hint: In function ‘ply_hashtable_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-hashtable.c:93:37: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘hashtable’
#   91|   
#   92|           hashtable = malloc (sizeof(ply_hashtable_t));
#   93|->         hashtable->total_node_count = 0;
#   94|           hashtable->dirty_node_count = 0;
#   95|           hashtable->live_node_count = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def105]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:110:28: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘key_file’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:26: included_from: Included from here.
#  108|           key_file = calloc (1, sizeof(ply_key_file_t));
#  109|   
#  110|->         key_file->filename = strdup (filename);
#  111|           key_file->fp = NULL;
#  112|           key_file->groups = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def106]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_load_group’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:171:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘group’
#  169|   
#  170|           group = calloc (1, sizeof(ply_key_file_group_t));
#  171|->         group->name = strdup (group_name);
#  172|           group->entries = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  173|   

Error: COMPILER_WARNING (CWE-252): [#def107]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_load_group’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:196:25: warning[-Wunused-result]: ignoring return value of ‘getline’ declared with attribute ‘warn_unused_result’
#  196 |                         getline (&line_to_toss, &number_of_bytes,
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  197 |                                  key_file->fp);
#      |                                  ~~~~~~~~~~~~~
#  194|                           number_of_bytes = 0;
#  195|   
#  196|->                         getline (&line_to_toss, &number_of_bytes,
#  197|                                    key_file->fp);
#  198|                           free (line_to_toss);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def108]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:218:28: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
#  216|                   entry = calloc (1, sizeof(ply_key_file_entry_t));
#  217|   
#  218|->                 entry->key = key;
#  219|                   entry->value = value;
#  220|   

Error: COMPILER_WARNING (CWE-252): [#def109]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_load_groups’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-key-file.c:248:25: warning[-Wunused-result]: ignoring return value of ‘getline’ declared with attribute ‘warn_unused_result’
#  248 |                         getline (&line_to_toss, &number_of_bytes,
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  249 |                                  key_file->fp);
#      |                                  ~~~~~~~~~~~~~
#  246|                           number_of_bytes = 0;
#  247|   
#  248|->                         getline (&line_to_toss, &number_of_bytes,
#  249|                                    key_file->fp);
#  250|                           free (line_to_toss);

Error: COMPILER_WARNING (CWE-252): [#def110]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c: scope_hint: In function ‘ply_logger_write_exception’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c:113:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  113 |         asprintf (&message,
#      |         ^~~~~~~~~~~~~~~~~~~
#  114 |                   "[couldn't write a log entry: %s]\n%n",
#      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  115 |                   string, &number_of_bytes);
#      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~
#  111|   
#  112|           message = NULL;
#  113|->         asprintf (&message,
#  114|                     "[couldn't write a log entry: %s]\n%n",
#  115|                     string, &number_of_bytes);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def111]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c: scope_hint: In function ‘ply_logger_buffer’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c:216:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c:24: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c:39: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.h:31:21: note: in definition of macro ‘MIN’
<built-in>: note: argument 1 of ‘__builtin_memcpy’ must be non-null
#  214|           assert (logger->buffer_size + length < logger->buffer_capacity);
#  215|   
#  216|->         memcpy (logger->buffer + logger->buffer_size,
#  217|                   string, length);
#  218|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def112]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c: scope_hint: In function ‘ply_logger_add_filter’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.c:563:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘filter’
#  561|           filter = calloc (1, sizeof(ply_logger_filter_t));
#  562|   
#  563|->         filter->handler = filter_handler;
#  564|           filter->user_data = user_data;
#  565|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def113]
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:37: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:91:28: warning[-Wanalyzer-malloc-leak]: leak of ‘split_string(command, 32)’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:149:9: note: in expansion of macro ‘ply_logger_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:168:17: note: in expansion of macro ‘ply_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:149:9: note: in expansion of macro ‘ply_logger_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/client/plymouth.c:168:17: note: in expansion of macro ‘ply_trace’
#   89|           {                                                                            \
#   90|                   int _old_errno;                                                            \
#   91|->                 _old_errno = errno;                                                        \
#   92|                   if (ply_logger_is_tracing_enabled (logger))                                \
#   93|                   {                                                                        \

Error: GCC_ANALYZER_WARNING (CWE-476): [#def114]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c: scope_hint: In function ‘ply_progress_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c:79:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress’
#   77|           ply_progress_t *progress = calloc (1, sizeof(ply_progress_t));
#   78|   
#   79|->         progress->start_time = ply_get_timestamp ();
#   80|           progress->pause_time = 0;
#   81|           progress->scalar = 1.0 / DEFAULT_BOOT_DURATION;

Error: CPPCHECK_WARNING (CWE-401): [#def115]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c:191: error[memleakOnRealloc]: Common realloc mistake: 'string' nulled but not freed upon failure
#  189|                           if (i >= string_size) {
#  190|                                   string_size *= 2;
#  191|->                                 string = realloc (string, sizeof(char) * string_size);
#  192|                           }
#  193|                           items_matched = fscanf (fp, "%c", &string[i]);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def116]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c: scope_hint: In function ‘ply_progress_load_cache’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c:201:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘message’
#  199|                   }
#  200|                   ply_progress_message_t *message = malloc (sizeof(ply_progress_message_t));
#  201|->                 message->time = time;
#  202|                   message->string = string;
#  203|                   ply_list_append_data (progress->previous_message_list, message);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def117]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c: scope_hint: In function ‘ply_progress_status_update’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-progress.c:322:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘message’
#  320|                   }
#  321|                   message = malloc (sizeof(ply_progress_message_t));
#  322|->                 message->time = ply_progress_get_time (progress);
#  323|                   message->string = strdup (status);
#  324|                   message->disabled = false;

Error: CPPCHECK_WARNING: [#def118]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-rectangle.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def119]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-region.c: scope_hint: In function ‘copy_rectangle’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-region.c:86:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_rectangle’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-region.c:28: included_from: Included from here.
#   84|   
#   85|           new_rectangle = malloc (sizeof(*rectangle));
#   86|->         *new_rectangle = *rectangle;
#   87|   
#   88|           return new_rectangle;

Error: CPPCHECK_WARNING: [#def120]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-terminal-session.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def121]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-terminal-session.c: scope_hint: In function ‘ply_terminal_session_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-terminal-session.c:72:43: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘session’
#   70|   
#   71|           session = calloc (1, sizeof(ply_terminal_session_t));
#   72|->         session->pseudoterminal_master_fd = -1;
#   73|           session->argv = argv == NULL ? NULL : ply_copy_string_array (argv);
#   74|           session->logger = ply_logger_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def122]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c: scope_hint: In function ‘ply_trigger_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c:65:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘trigger’
#   63|   
#   64|           trigger = calloc (1, sizeof(ply_trigger_t));
#   65|->         trigger->free_address = free_address;
#   66|           trigger->closures = ply_list_new ();
#   67|           trigger->ignore_count = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def123]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c: scope_hint: In function ‘ply_trigger_add_instance_handler’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c:126:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
#  124|   
#  125|           closure = calloc (1, sizeof(ply_trigger_closure_t));
#  126|->         closure->handler_type = PLY_TRIGGER_HANDLER_TYPE_INSTANCE_HANDLER;
#  127|           closure->instance_handler = handler;
#  128|           closure->user_data = user_data;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def124]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c: scope_hint: In function ‘ply_trigger_add_handler’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-trigger.c:171:28: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
#  169|           closure->handler_type = PLY_TRIGGER_HANDLER_TYPE_HANDLER;
#  170|           closure->handler = handler;
#  171|->         closure->user_data = user_data;
#  172|   
#  173|           ply_list_append_data (trigger->closures, closure);

Error: CPPCHECK_WARNING: [#def125]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def126]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘create_unix_address_from_path’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:142:29: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘address’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:25: included_from: Included from here.
#  140|   
#  141|           address = calloc (1, sizeof(struct sockaddr_un));
#  142|->         address->sun_family = AF_UNIX;
#  143|   
#  144|           /* a socket is marked as abstract if its path has the

Error: GCC_ANALYZER_WARNING (CWE-476): [#def127]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_copy_string_array’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:443:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘copy’
#  441|   
#  442|           for (i = 0; array[i] != NULL; i++) {
#  443|->                 copy[i] = strdup (array[i]);
#  444|           }
#  445|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def128]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_create_directory’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:645:47: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘parent_directory’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:28: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:36: included_from: Included from here.
/usr/include/string.h:273:14: note: argument 1 of ‘strrchr’ must be non-null
#  643|                   if (errno == ENOENT) {
#  644|                           parent_directory = strdup (directory);
#  645|->                         last_path_component = strrchr (parent_directory, '/');
#  646|                           *last_path_component = '\0';
#  647|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def129]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_create_daemon’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:727:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘handle’
#  725|   
#  726|           handle = calloc (1, sizeof(int));
#  727|->         *handle = sender_fd;
#  728|   
#  729|           return (ply_daemon_handle_t *) handle;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def130]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_utf8_character_get_size_from_byte_type’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:810:16: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘size’
#  808|                   break;
#  809|           }
#  810|->         return size;
#  811|   }
#  812|   

Error: COMPILER_WARNING (CWE-457): [#def131]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_utf8_character_get_size_from_byte_type’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:810:16: warning[-Wmaybe-uninitialized]: ‘size’ may be used uninitialized
#  810 |         return size;
#      |                ^~~~
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:789:16: note: ‘size’ was declared here
#  789 |         size_t size;
#      |                ^~~~
#  808|                   break;
#  809|           }
#  810|->         return size;
#  811|   }
#  812|   

Error: COMPILER_WARNING (CWE-252): [#def132]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_get_process_command_line’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:945:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  945 |         asprintf (&path, "/proc/%ld/cmdline", (long) pid);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  943|           command_line = NULL;
#  944|   
#  945|->         asprintf (&path, "/proc/%ld/cmdline", (long) pid);
#  946|   
#  947|           fd = open (path, O_RDONLY);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def133]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_get_process_command_line’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:965:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_line’
#  963|   
#  964|           for (i = 0; i < bytes_read - 1; i++) {
#  965|->                 if (command_line[i] == '\0')
#  966|                           command_line[i] = ' ';
#  967|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def134]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:968:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_line’
#  966|                           command_line[i] = ' ';
#  967|           }
#  968|->         command_line[i] = '\0';
#  969|   
#  970|           return command_line;

Error: COMPILER_WARNING (CWE-252): [#def135]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘ply_get_process_parent_pid’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:985:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  985 |         asprintf (&path, "/proc/%ld/stat", (long) pid);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  983|           int ppid;
#  984|   
#  985|->         asprintf (&path, "/proc/%ld/stat", (long) pid);
#  986|   
#  987|           ppid = 0;

Error: GCC_ANALYZER_WARNING: [#def136]
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c: scope_hint: In function ‘check_secure_boot_settings’
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-utils.c:1279:15: warning[-Wanalyzer-fd-use-without-check]: ‘read’ on possibly invalid file descriptor ‘open(filename, 0)’
# 1277|   
# 1278|           fd = open (filename, O_RDONLY);
# 1279|->         len = read (fd, buf, 5);
# 1280|           close (fd);
# 1281|   

Error: CPPCHECK_WARNING: [#def137]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def138]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘get_theme_path’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:288:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  288 |                 asprintf (theme_path,
#      |                 ^~~~~~~~~~~~~~~~~~~~~
#  289 |                           "%s/%s/%s.plymouth",
#      |                           ~~~~~~~~~~~~~~~~~~~~
#  290 |                           paths[i], splash_string, splash_string);
#      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  286|                           continue;
#  287|   
#  288|->                 asprintf (theme_path,
#  289|                             "%s/%s/%s.plymouth",
#  290|                             paths[i], splash_string, splash_string);

Error: COMPILER_WARNING (CWE-252): [#def139]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘on_newroot’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:675:9: warning[-Wunused-result]: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’
#  675 |         chdir (root_dir);
#      |         ^~~~~~~~~~~~~~~~
#  673|           }
#  674|   
#  675|->         chdir (root_dir);
#  676|           chroot (".");
#  677|           chdir ("/");

Error: COMPILER_WARNING (CWE-252): [#def140]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:676:9: warning[-Wunused-result]: ignoring return value of ‘chroot’ declared with attribute ‘warn_unused_result’
#  676 |         chroot (".");
#      |         ^~~~~~~~~~~~
#  674|   
#  675|           chdir (root_dir);
#  676|->         chroot (".");
#  677|           chdir ("/");
#  678|           /* Update local now that we have /usr/share/locale available */

Error: COMPILER_WARNING (CWE-252): [#def141]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:677:9: warning[-Wunused-result]: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’
#  677 |         chdir ("/");
#      |         ^~~~~~~~~~~
#  675|           chdir (root_dir);
#  676|           chroot (".");
#  677|->         chdir ("/");
#  678|           /* Update local now that we have /usr/share/locale available */
#  679|           setlocale (LC_ALL, "");

Error: COMPILER_WARNING (CWE-252): [#def142]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘check_verbosity’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:1990:33: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1990 |                                 asprintf (&file, "/dev/%s", device);
#      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1988|                                   file = strdup (device);
# 1989|                           else
# 1990|->                                 asprintf (&file, "/dev/%s", device);
# 1991|   
# 1992|                           fd = open (file, O_RDWR | O_APPEND);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def143]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘check_verbosity’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:1992:30: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘file’ where non-null expected
/usr/include/features.h:511: included_from: Included from here.
/usr/include/sys/stat.h:25: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:23: included_from: Included from here.
/usr/include/fcntl.h:212:12: note: argument 1 of ‘open’ must be non-null
# 1990|                                   asprintf (&file, "/dev/%s", device);
# 1991|   
# 1992|->                         fd = open (file, O_RDWR | O_APPEND);
# 1993|   
# 1994|                           if (fd < 0)

Error: CLANG_WARNING: [#def144]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2143:14: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull'
# 2141|           size_t size;
# 2142|   
# 2143|->         fd = open (debug_buffer_path,
# 2144|                      O_WRONLY | O_CREAT | O_TRUNC, 0600);
# 2145|   

Error: COMPILER_WARNING (CWE-252): [#def145]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘write_maps’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2171:9: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2171 |         write (output_fd, "maps:\n", strlen ("maps:\n"));
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2169|           int fd;
# 2170|   
# 2171|->         write (output_fd, "maps:\n", strlen ("maps:\n"));
# 2172|           fd = open ("/proc/self/maps", O_RDONLY);
# 2173|   

Error: COMPILER_WARNING (CWE-252): [#def146]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2183:33: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2183 |                                 write (output_fd, maps_buffer + line_start, i - line_start + 1);
#      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2181|                   for (ssize_t i = line_start; i < bytes_read; ++i) {
# 2182|                           if (maps_buffer[i] == '\n') {
# 2183|->                                 write (output_fd, maps_buffer + line_start, i - line_start + 1);
# 2184|                                   line_start = i + 1;
# 2185|                           }

Error: COMPILER_WARNING (CWE-252): [#def147]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2198:17: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2198 |                 write (output_fd, maps_buffer, buffer_end);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2196|   
# 2197|           if (buffer_end > 0) {
# 2198|->                 write (output_fd, maps_buffer, buffer_end);
# 2199|           }
# 2200|   

Error: COMPILER_WARNING (CWE-252): [#def148]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘write_backtrace’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2210:9: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2210 |         write (output_fd, "backtrace:\n", strlen ("backtrace:\n"));
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2208|           int number_of_addresses;
# 2209|   
# 2210|->         write (output_fd, "backtrace:\n", strlen ("backtrace:\n"));
# 2211|           number_of_addresses = backtrace (addresses, BACKTRACE_SIZE);
# 2212|   

Error: COMPILER_WARNING (CWE-252): [#def149]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘on_crash’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2238:17: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2238 |                 write (fd, show_cursor_sequence, sizeof(show_cursor_sequence) - 1);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2236|                   ioctl (fd, KDSETMODE, KD_TEXT);
# 2237|   
# 2238|->                 write (fd, show_cursor_sequence, sizeof(show_cursor_sequence) - 1);
# 2239|   
# 2240|                   tcgetattr (fd, &term_attributes);

Error: GCC_ANALYZER_WARNING (CWE-479): [#def150]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘on_crash’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2259:17: warning[-Wanalyzer-unsafe-call-within-signal-handler]: call to ‘free’ from within signal handler
# 2257|           if (pid_file != NULL) {
# 2258|                   unlink (pid_file);
# 2259|->                 free (pid_file);
# 2260|                   pid_file = NULL;
# 2261|           }

Error: COMPILER_WARNING (CWE-252): [#def151]
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c: scope_hint: In function ‘main’
plymouth-24.004.60-build/plymouth-24.004.60/src/main.c:2437:9: warning[-Wunused-result]: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’
# 2437 |         chdir ("/");
#      |         ^~~~~~~~~~~
# 2435|           state.no_boot_log = no_boot_log;
# 2436|   
# 2437|->         chdir ("/");
# 2438|           signal (SIGPIPE, SIG_IGN);
# 2439|   

Error: CPPCHECK_WARNING: [#def152]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def153]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘find_default_font_path’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:134:9: warning[-Wunused-result]: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’
#  134 |         fgets (fc_match_out, sizeof(fc_match_out), fp);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  132|                   return FONT_FALLBACK;
#  133|   
#  134|->         fgets (fc_match_out, sizeof(fc_match_out), fp);
#  135|   
#  136|           pclose (fp);

Error: COMPILER_WARNING (CWE-252): [#def154]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘find_default_monospace_font_path’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:151:9: warning[-Wunused-result]: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’
#  151 |         fgets (fc_match_out, sizeof(fc_match_out), fp);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  149|                   return MONOSPACE_FONT_FALLBACK;
#  150|   
#  151|->         fgets (fc_match_out, sizeof(fc_match_out), fp);
#  152|   
#  153|           pclose (fp);

Error: CLANG_WARNING: [#def155]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:246:17: warning[deadcode.DeadStores]: Value stored to 'character_size' is never read
#  244|           if (character_size <= 0) {
#  245|                   character = (wchar_t) *input_text;
#  246|->                 character_size = 1;
#  247|           }
#  248|   

Error: COMPILER_WARNING (CWE-457): [#def156]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:328:52: warning[-Wmaybe-uninitialized]: ‘red’ may be used uninitialized
#  328 |                         rd = invalpha * rd + alpha * rs;
#      |                                              ~~~~~~^~~~
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘load_glyphs’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:548:25: note: ‘red’ was declared here
#  548 |                 uint8_t red, green, blue;
#      |                         ^~~
#  326|   
#  327|                           /* Alpha blending */
#  328|->                         rd = invalpha * rd + alpha * rs;
#  329|                           gd = invalpha * gd + alpha * gs;
#  330|                           bd = invalpha * bd + alpha * bs;

Error: COMPILER_WARNING (CWE-457): [#def157]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:329:52: warning[-Wmaybe-uninitialized]: ‘green’ may be used uninitialized
#  329 |                         gd = invalpha * gd + alpha * gs;
#      |                                              ~~~~~~^~~~
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘load_glyphs’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:548:30: note: ‘green’ was declared here
#  548 |                 uint8_t red, green, blue;
#      |                              ^~~~~
#  327|                           /* Alpha blending */
#  328|                           rd = invalpha * rd + alpha * rs;
#  329|->                         gd = invalpha * gd + alpha * gs;
#  330|                           bd = invalpha * bd + alpha * bs;
#  331|                           /* Semi-correct: Disregard the target alpha */

Error: COMPILER_WARNING (CWE-457): [#def158]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:330:52: warning[-Wmaybe-uninitialized]: ‘blue’ may be used uninitialized
#  330 |                         bd = invalpha * bd + alpha * bs;
#      |                                              ~~~~~~^~~~
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘load_glyphs’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:548:37: note: ‘blue’ was declared here
#  548 |                 uint8_t red, green, blue;
#      |                                     ^~~~
#  328|                           rd = invalpha * rd + alpha * rs;
#  329|                           gd = invalpha * gd + alpha * gs;
#  330|->                         bd = invalpha * bd + alpha * bs;
#  331|                           /* Semi-correct: Disregard the target alpha */
#  332|                           ad = alpha * 255;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def159]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘finish_measuring_line’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:441:16: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
#  439|   
#  440|           entry = calloc (1, sizeof(ply_rectangle_t));
#  441|->         *entry = *dimensions;
#  442|           ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  443|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def160]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:442:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
#  440|           entry = calloc (1, sizeof(ply_rectangle_t));
#  441|           *entry = *dimensions;
#  442|->         ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  443|   
#  444|           dimensions->y += dimensions->height;

Error: CLANG_WARNING: [#def161]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:444:23: warning[unix.Malloc]: Potential leak of memory pointed to by 'entry'
#  442|           ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  443|   
#  444|->         dimensions->y += dimensions->height;
#  445|   }
#  446|   

Error: CLANG_WARNING: [#def162]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:777:13: warning[unix.Malloc]: Use of memory after it is freed
#  775|           label->font = new_font;
#  776|   
#  777|->         if (strstr (font, "Mono") || strstr (font, "mono")) {
#  778|                   if (!label->is_monospaced) {
#  779|                           FT_Done_Face (label->face);

Error: CPPCHECK_WARNING: [#def163]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def164]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c:452:31: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull'
#  450|                   dirty_area = label->area;
#  451|                   free (label->text);
#  452|->                 label->text = strdup (text);
#  453|                   size_control (label, false);
#  454|                   if (!label->is_hidden && label->display != NULL)

Error: CPPCHECK_WARNING: [#def165]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def166]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c: scope_hint: In function ‘ply_renderer_buffer_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:230:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘buffer’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:29: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:30: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-logger.h:149:9: note: in expansion of macro ‘ply_logger_trace’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:749:9: note: in expansion of macro ‘ply_trace’
#  228|   
#  229|           buffer = calloc (1, sizeof(ply_renderer_buffer_t));
#  230|->         buffer->width = width;
#  231|           buffer->height = height;
#  232|           buffer->map_address = MAP_FAILED;

Error: CLANG_WARNING: [#def167]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1231:24: warning[core.NullDereference]: Dereference of null pointer (loaded from variable 'mode')
# 1229|                   mode = &connector->modes[0];
# 1230|           }
# 1231|->         output->mode = *mode;
# 1232|   
# 1233|           if (backend->simpledrm)

Error: CLANG_WARNING: [#def168]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1331:25: warning[unix.Malloc]: Potential leak of memory pointed to by 'new_outputs'
# 1329|                   new_outputs = setup_outputs (backend, new_outputs, outputs_len);
# 1330|   
# 1331|->                 count = count_setup_controllers (new_outputs, outputs_len);
# 1332|                   if (count > best_count) {
# 1333|                           if (best_outputs != outputs)

Error: CLANG_WARNING: [#def169]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1513:25: warning[deadcode.DeadStores]: Value stored to 'head' is never read
# 1511|   
# 1512|                   if (head == NULL) {
# 1513|->                         head = ply_renderer_head_new (backend, &outputs[i],
# 1514|                                                         console_buffer_id,
# 1515|                                                         gamma_size);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def170]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c: scope_hint: In function ‘create_backend’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:253:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
#  251|   
#  252|           if (device_name != NULL)
#  253|->                 backend->device_name = strdup (device_name);
#  254|           else if (getenv ("FRAMEBUFFER") != NULL)
#  255|                   backend->device_name = strdup (getenv ("FRAMEBUFFER"));

Error: GCC_ANALYZER_WARNING (CWE-476): [#def171]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
#  253|                   backend->device_name = strdup (device_name);
#  254|           else if (getenv ("FRAMEBUFFER") != NULL)
#  255|->                 backend->device_name = strdup (getenv ("FRAMEBUFFER"));
#  256|           else
#  257|                   backend->device_name =

Error: CLANG_WARNING: [#def172]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:40: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull'
#  253|                   backend->device_name = strdup (device_name);
#  254|           else if (getenv ("FRAMEBUFFER") != NULL)
#  255|->                 backend->device_name = strdup (getenv ("FRAMEBUFFER"));
#  256|           else
#  257|                   backend->device_name =

Error: GCC_ANALYZER_WARNING (CWE-476): [#def173]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:257:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
#  255|                   backend->device_name = strdup (getenv ("FRAMEBUFFER"));
#  256|           else
#  257|->                 backend->device_name =
#  258|                           strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
#  259|   

Error: CPPCHECK_WARNING: [#def174]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def175]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c: scope_hint: In function ‘create_backend’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:129:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
#  127|           backend = calloc (1, sizeof(ply_renderer_backend_t));
#  128|   
#  129|->         backend->loop = ply_event_loop_get_default ();
#  130|           backend->heads = ply_list_new ();
#  131|           backend->input_source.key_buffer = ply_buffer_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def176]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c: scope_hint: In function ‘create_fake_multi_head_setup’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:226:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
#  224|           head = calloc (1, sizeof(ply_renderer_head_t));
#  225|   
#  226|->         head->backend = backend;
#  227|           head->area.x = 0;
#  228|           head->area.y = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def177]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:239:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
#  237|           head = calloc (1, sizeof(ply_renderer_head_t));
#  238|   
#  239|->         head->backend = backend;
#  240|           head->area.x = 800;
#  241|           head->area.y = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def178]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c: scope_hint: In function ‘create_fullscreen_single_head_setup’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:271:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
#  269|           head = calloc (1, sizeof(ply_renderer_head_t));
#  270|   
#  271|->         head->backend = backend;
#  272|           head->area.x = monitor_geometry.x;
#  273|           head->area.y = monitor_geometry.y;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def179]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/details/plugin.c:90:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/details/plugin.c: scope_hint: In function ‘add_text_display’
#   88|   
#   89|           view = calloc (1, sizeof(view_t));
#   90|->         view->plugin = plugin;
#   91|           view->display = display;
#   92|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def180]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/details/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/details/plugin.c:158:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
#  156|   
#  157|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  158|->         plugin->views = ply_list_new ();
#  159|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  160|           plugin->messages = ply_list_new ();

Error: CPPCHECK_WARNING: [#def181]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def182]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:239:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  239 |         asprintf (&image_path, "%s/star.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  237|           image_dir = ply_key_file_get_value (key_file, "fade-throbber", "ImageDir");
#  238|   
#  239|->         asprintf (&image_path, "%s/star.png", image_dir);
#  240|           plugin->star_image = ply_image_new (image_path);
#  241|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def183]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:243:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  243 |         asprintf (&image_path, "%s/lock.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  241|           free (image_path);
#  242|   
#  243|->         asprintf (&image_path, "%s/lock.png", image_dir);
#  244|           plugin->lock_image = ply_image_new (image_path);
#  245|           free (image_path);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def184]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c: scope_hint: In function ‘star_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:279:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘star’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:23: included_from: Included from here.
#  277|   
#  278|           star = calloc (1, sizeof(star_t));
#  279|->         star->x = x;
#  280|           star->y = y;
#  281|           star->speed = speed;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def185]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c: scope_hint: In function ‘view_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:326:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
#  324|   
#  325|           view = calloc (1, sizeof(view_t));
#  326|->         view->plugin = plugin;
#  327|           view->display = display;
#  328|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def186]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/plugin.c: scope_hint: In function ‘add_script_env_var.part.0’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/plugin.c:159:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_env_var’
#  157|           script_env_vars = user_data;
#  158|           new_env_var = malloc (sizeof(script_env_var_t));
#  159|->         new_env_var->key = strdup (key);
#  160|           new_env_var->value = strdup (value);
#  161|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def187]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/plugin.c:171:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
#  169|   
#  170|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  171|->         plugin->image_dir = ply_key_file_get_value (key_file,
#  172|                                                       "script",
#  173|                                                       "ImageDir");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def188]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-debug.c: scope_hint: In function ‘script_debug_add_element’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-debug.c:48:34: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_location’
#   46|           script_debug_setup ();
#   47|           script_debug_location_t *new_location = malloc (sizeof(script_debug_location_t));
#   48|->         new_location->line_index = location->line_index;
#   49|           new_location->column_index = location->column_index;
#   50|           new_location->name = ply_hashtable_lookup (script_debug_name_hash, location->name);

Error: CPPCHECK_WARNING: [#def189]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def190]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c: scope_hint: In function ‘script_evaluate_set’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c:147:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  147 |                 asprintf (&name, "%d", index);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  145|                   script_obj_t *data_obj = script_evaluate (state, data_exp);
#  146|                   char *name;
#  147|->                 asprintf (&name, "%d", index);
#  148|                   index++;
#  149|                   script_obj_hash_add_element (obj, data_obj, name);

Error: CLANG_WARNING: [#def191]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c:552:26: warning[deadcode.DeadStores]: Value stored to 'node' during its initialization is never read
#  550|   {
#  551|           script_return_t reply = script_return_normal ();
#  552|->         ply_list_node_t *node = ply_list_get_first_node (op_list);
#  553|   
#  554|           for (node = ply_list_get_first_node (op_list);

Error: COMPILER_WARNING (CWE-252): [#def192]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c: scope_hint: In function ‘script_execute_function_with_parlist’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-execute.c:589:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  589 |                 asprintf (&name, "%d", index);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  587|                   script_obj_t *data_obj = ply_list_node_get_data (node_data);
#  588|                   char *name;
#  589|->                 asprintf (&name, "%d", index);
#  590|                   index++;
#  591|                   script_obj_hash_add_element (arg_obj, data_obj, name);

Error: CPPCHECK_WARNING: [#def193]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def194]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c: scope_hint: In function ‘image_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:69:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#   69 |                 asprintf (&path_filename, "%s/%s", data->image_dir, filename);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   67|                           path_filename = strdup ("");
#   68|           } else {
#   69|->                 asprintf (&path_filename, "%s/%s", data->image_dir, filename);
#   70|           }
#   71|           ply_image_t *file_image = ply_image_new (path_filename);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def195]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c: scope_hint: In function ‘script_lib_math_setup’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
#  117|           script_obj_unref (math_hash);
#  118|   
#  119|->         data->script_main_op = script_parse_string (script_lib_math_string, "script-lib-math.script");
#  120|           script_return_t ret = script_execute (state, data->script_main_op);
#  121|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def196]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c: scope_hint: In function ‘script_lib_plymouth_setup’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
#  120|           script_lib_plymouth_data_t *data = malloc (sizeof(script_lib_plymouth_data_t));
#  121|   
#  122|->         data->script_refresh_func = script_obj_new_null ();
#  123|           data->script_boot_progress_func = script_obj_new_null ();
#  124|           data->script_root_mounted_func = script_obj_new_null ();

Error: CPPCHECK_WARNING: [#def197]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def198]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c: scope_hint: In function ‘sprite_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:56:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘sprite’
#   54|   
#   55|           sprite->x = 0;
#   56|->         sprite->y = 0;
#   57|           sprite->z = 0;
#   58|           sprite->opacity = 1.0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def199]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c: scope_hint: In function ‘add_display’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:537:39: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘script_display’
#  535|           script_lib_display_t *script_display = malloc (sizeof(script_lib_display_t));
#  536|   
#  537|->         script_display->pixel_display = pixel_display;
#  538|           script_display->data = data;
#  539|           ply_pixel_display_set_draw_handler (pixel_display,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def200]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c: scope_hint: In function ‘script_lib_string_setup’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
#  124|                                       NULL);
#  125|           script_obj_unref (string_hash);
#  126|->         data->script_main_op = script_parse_string (script_lib_string_string, "script-lib-string.script");
#  127|           script_return_t ret = script_execute (state, data->script_main_op);
#  128|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def201]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_new_null’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:152:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘obj’
#  150|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  151|   
#  152|->         obj->type = SCRIPT_OBJ_TYPE_NULL;
#  153|           obj->refcount = 1;
#  154|           return obj;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def202]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_new_hash’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:181:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘obj’
#  179|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  180|   
#  181|->         obj->type = SCRIPT_OBJ_TYPE_HASH;
#  182|           obj->data.hash = ply_hashtable_new (ply_hashtable_string_hash,
#  183|                                               ply_hashtable_string_compare);

Error: COMPILER_WARNING (CWE-252): [#def203]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_as_string’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:314:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  314 |                 asprintf (&reply, "%g", string_obj->data.number);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  312|           string_obj = script_obj_as_obj_type (obj, SCRIPT_OBJ_TYPE_NUMBER);
#  313|           if (string_obj) {
#  314|->                 asprintf (&reply, "%g", string_obj->data.number);
#  315|                   return reply;
#  316|           }

Error: COMPILER_WARNING (CWE-252): [#def204]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:319:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  319 |         asprintf (&reply, "#(0x%p)", obj);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  317|           if (script_obj_is_null (obj))
#  318|                   return strdup ("#NULL");
#  319|->         asprintf (&reply, "#(0x%p)", obj);
#  320|           return reply;
#  321|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def205]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_hash_get_element.part.0’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:449:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘variable’
#  447|           script_variable_t *variable = malloc (sizeof(script_variable_t));
#  448|   
#  449|->         variable->name = strdup (name);
#  450|           variable->object = script_obj_new_null ();
#  451|           ply_hashtable_insert (realhash->data.hash, variable->name, variable);

Error: COMPILER_WARNING (CWE-252): [#def206]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_plus’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-object.c:531:25: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  531 |                         asprintf (&newstring, "%s%s", string_a, string_b);
#      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  529|                   if (string_a && string_b) {
#  530|                           char *newstring;
#  531|->                         asprintf (&newstring, "%s%s", string_a, string_b);
#  532|                           obj = script_obj_new_string (newstring);
#  533|                           free (newstring);

Error: CPPCHECK_WARNING: [#def207]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def208]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c: scope_hint: In function ‘script_parse_new_exp’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:63:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘exp’
#   61|           script_exp_t *exp = malloc (sizeof(script_exp_t));
#   62|   
#   63|->         exp->type = type;
#   64|           script_debug_add_element (exp, location);
#   65|           return exp;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def209]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c: scope_hint: In function ‘script_parse_new_op’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:151:18: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘op’
#  149|           script_op_t *op = malloc (sizeof(script_op_t));
#  150|   
#  151|->         op->type = type;
#  152|           script_debug_add_element (op, location);
#  153|           return op;

Error: CLANG_WARNING: [#def210]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:285:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  283|           }
#  284|   
#  285|->         curtoken = script_scan_get_next_token (scan);
#  286|   
#  287|           script_op_t *func_op = script_parse_op (scan);

Error: CLANG_WARNING: [#def211]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:334:17: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  332|                           exp = script_parse_new_exp_var (curtoken->data.string, &curtoken->location);
#  333|                   }
#  334|->                 curtoken = script_scan_get_next_token (scan);
#  335|                   return exp;
#  336|           }

Error: CLANG_WARNING: [#def212]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:617:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  615|                   return NULL;
#  616|           }
#  617|->         curtoken = script_scan_get_next_token (scan);
#  618|   
#  619|           script_op_t *op = script_parse_new_op_block (sublist, &location);

Error: CLANG_WARNING: [#def213]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:643:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  641|                   return NULL;
#  642|           }
#  643|->         curtoken = script_scan_get_next_token (scan);
#  644|   
#  645|           script_exp_t *cond = script_parse_exp (scan);

Error: CLANG_WARNING: [#def214]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:680:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  678|           script_debug_location_t location = curtoken->location;
#  679|   
#  680|->         curtoken = script_scan_get_next_token (scan);
#  681|           script_op_t *cond_op = script_parse_op (scan);
#  682|   

Error: CLANG_WARNING: [#def215]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:697:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  695|                   return NULL;
#  696|           }
#  697|->         curtoken = script_scan_get_next_token (scan);
#  698|           script_exp_t *cond = script_parse_exp (scan);
#  699|   

Error: CLANG_WARNING: [#def216]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:809:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  807|           script_exp_t *name = script_parse_new_exp_var (curtoken->data.string, &curtoken->location);
#  808|   
#  809|->         curtoken = script_scan_get_next_token (scan); /* FIXME parse any type of exp as target and do an assign*/
#  810|   
#  811|           script_function_t *function = script_parse_function_def (scan);

Error: CLANG_WARNING: [#def217]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:849:9: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  847|                   return NULL;
#  848|           }
#  849|->         curtoken = script_scan_get_next_token (scan);
#  850|   #endif
#  851|   

Error: CLANG_WARNING: [#def218]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-parse.c:885:17: warning[deadcode.DeadStores]: Value stored to 'curtoken' is never read
#  883|                           return NULL;
#  884|                   }
#  885|->                 curtoken = script_scan_get_next_token (scan);
#  886|   #endif
#  887|   

Error: CPPCHECK_WARNING: [#def219]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def220]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c: scope_hint: In function ‘script_scan_read_next_token’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c:274:51: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
#  272|                           token->data.string = realloc (token->data.string,
#  273|                                                         (index + 2) * sizeof(char));
#  274|->                         token->data.string[index] = curchar;
#  275|                           token->data.string[index + 1] = '\0';
#  276|                           index++;

Error: CLANG_WARNING: [#def221]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c:293:25: warning[deadcode.DeadStores]: Value stored to 'curchar' is never read
#  291|                           token->data.string = malloc (sizeof(char));
#  292|                           token->data.string[0] = '\0';
#  293|->                         curchar = nextchar;
#  294|                           for (curchar = nextchar;
#  295|                                curchar != '\n' && curchar != '\0';

Error: GCC_ANALYZER_WARNING (CWE-476): [#def222]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c: scope_hint: In function ‘script_scan_peek_token’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script-scan.c:359:47: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘malloc(40)’
#  357|                   for (i = scan->tokencount; i <= n; i++) {
#  358|                           scan->tokens[i] = malloc (sizeof(script_scan_token_t));
#  359|->                         scan->tokens[i]->type = SCRIPT_SCAN_TOKEN_TYPE_EMPTY;
#  360|                   }
#  361|                   scan->tokencount = n + 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def223]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c: scope_hint: In function ‘script_function_script_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c:48:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘function’
#   46|           script_function_t *function = malloc (sizeof(script_function_t));
#   47|   
#   48|->         function->type = SCRIPT_FUNCTION_TYPE_SCRIPT;
#   49|           function->parameters = parameter_list;
#   50|           function->data.script = script;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def224]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c: scope_hint: In function ‘script_function_native_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c:62:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘function’
#   60|           script_function_t *function = malloc (sizeof(script_function_t));
#   61|   
#   62|->         function->type = SCRIPT_FUNCTION_TYPE_NATIVE;
#   63|           function->parameters = parameter_list;
#   64|           function->data.native = native_function;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def225]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c: scope_hint: In function ‘script_obj_native_class_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c:104:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘class’
#  102|           script_obj_native_class_t *class = malloc (sizeof(script_obj_native_class_t));
#  103|   
#  104|->         class->free_func = free_func;
#  105|           class->name = strdup (name);
#  106|           class->user_data = user_data;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def226]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c: scope_hint: In function ‘script_state_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c:122:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘state’
#  120|           script_obj_t *global_hash = script_obj_new_hash ();
#  121|   
#  122|->         state->global = script_obj_new_ref (global_hash);
#  123|           script_obj_unref (global_hash);
#  124|           state->local = script_obj_new_ref (global_hash);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def227]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c: scope_hint: In function ‘script_state_init_sub’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/script/script.c:136:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘newstate’
#  134|           script_obj_t *local_hash = script_obj_new_hash ();
#  135|   
#  136|->         newstate->local = script_obj_new_ref (local_hash);
#  137|           script_obj_unref (local_hash);
#  138|           newstate->global = script_obj_new_ref (oldstate->global);

Error: CPPCHECK_WARNING: [#def228]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def229]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c: scope_hint: In function ‘add_sprite’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:421:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_sprite’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:25: included_from: Included from here.
#  419|   
#  420|           new_sprite->x = 0;
#  421|->         new_sprite->y = 0;
#  422|           new_sprite->z = 0;
#  423|           new_sprite->oldx = 0;

Error: COMPILER_WARNING (CWE-252): [#def230]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:584:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  584 |         asprintf (&image_path, "%s/lock.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  582|           image_dir = ply_key_file_get_value (key_file, "space-flares", "ImageDir");
#  583|   
#  584|->         asprintf (&image_path, "%s/lock.png", image_dir);
#  585|           plugin->lock_image = ply_image_new (image_path);
#  586|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def231]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:588:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  588 |         asprintf (&image_path, "%s/box.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  586|           free (image_path);
#  587|   
#  588|->         asprintf (&image_path, "%s/box.png", image_dir);
#  589|           plugin->box_image = ply_image_new (image_path);
#  590|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def232]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:592:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  592 |         asprintf (&image_path, "%s/star.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  590|           free (image_path);
#  591|   
#  592|->         asprintf (&image_path, "%s/star.png", image_dir);
#  593|           plugin->star_image = ply_image_new (image_path);
#  594|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def233]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:621:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
#  621 |         asprintf (&image_path, "%s/progress_bar.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  619|   #ifdef  SHOW_PROGRESS_BAR
#  620|   
#  621|->         asprintf (&image_path, "%s/progress_bar.png", image_dir);
#  622|           plugin->progress_barimage = ply_image_new (image_path);
#  623|           free (image_path);

Error: CLANG_WARNING: [#def234]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1100:33: warning[deadcode.DeadStores]: Value stored to 'z' is never read
# 1098|                                   angle = atan2 (z, x) + flare->rotate_xz[b] + 0.02 * sin (8 * b * flare_line);
# 1099|                                   x = distance * cos (angle);
# 1100|->                                 z = distance * sin (angle);
# 1101|   
# 1102|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def235]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c: scope_hint: In function ‘view_setup_scene’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1580:37: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘star_bg’
# 1578|                   view->scaled_background_image = ply_image_resize (plugin->logo_image, screen_width, screen_height);
# 1579|                   star_bg = malloc (sizeof(star_bg_t));
# 1580|->                 star_bg->star_count = (screen_width * screen_height) / 400;
# 1581|                   star_bg->star_x = malloc (sizeof(int) * star_bg->star_count);
# 1582|                   star_bg->star_y = malloc (sizeof(int) * star_bg->star_count);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def236]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1682:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress’
# 1680|           progress_t *progress = malloc (sizeof(progress_t));
# 1681|   
# 1682|->         progress->image = plugin->progress_barimage;
# 1683|   
# 1684|           x = screen_width / 2 - ply_image_get_width (plugin->logo_image) / 2;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def237]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1703:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘flare’
# 1701|           flare_t *flare = malloc (sizeof(flare_t));
# 1702|   
# 1703|->         flare->image_a = ply_image_resize (plugin->star_image, width, height);
# 1704|           flare->image_b = ply_image_resize (plugin->star_image, width, height);
# 1705|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def238]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c: scope_hint: In function ‘view_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c:93:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
#   91|   
#   92|           view = calloc (1, sizeof(view_t));
#   93|->         view->plugin = plugin;
#   94|           view->display = display;
#   95|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def239]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c:309:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
#  307|           plugin->message = NULL;
#  308|   
#  309|->         plugin->views = ply_list_new ();
#  310|   
#  311|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def240]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c: scope_hint: In function ‘show_password_prompt’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/text/plugin.c:623:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entered_text’
#  621|   
#  622|           for (i = 0; i < bullets; i++) {
#  623|->                 entered_text[i] = '*';
#  624|           }
#  625|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def241]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c: scope_hint: In function ‘view_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:96:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
#   94|   
#   95|           view = calloc (1, sizeof(view_t));
#   96|->         view->plugin = plugin;
#   97|           view->display = display;
#   98|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def242]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
#  313|           plugin->message = NULL;
#  314|   
#  315|->         plugin->views = ply_list_new ();
#  316|   
#  317|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def243]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c: scope_hint: In function ‘show_password_prompt’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:629:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entered_text’
#  627|   
#  628|           for (i = 0; i < bullets; i++) {
#  629|->                 entered_text[i] = '*';
#  630|           }
#  631|   

Error: CPPCHECK_WARNING: [#def244]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-252): [#def245]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c: scope_hint: In function ‘create_plugin’
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1168:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1168 |         asprintf (&image_path, "%s/lock.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1166|           ply_trace ("Using '%s' as working directory", image_dir);
# 1167|   
# 1168|->         asprintf (&image_path, "%s/lock.png", image_dir);
# 1169|           plugin->lock_image = ply_image_new (image_path);
# 1170|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def246]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1172:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1172 |         asprintf (&image_path, "%s/box.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1170|           free (image_path);
# 1171|   
# 1172|->         asprintf (&image_path, "%s/box.png", image_dir);
# 1173|           plugin->box_image = ply_image_new (image_path);
# 1174|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def247]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1176:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1176 |         asprintf (&image_path, "%s/corner-image.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1174|           free (image_path);
# 1175|   
# 1176|->         asprintf (&image_path, "%s/corner-image.png", image_dir);
# 1177|           plugin->corner_image = ply_image_new (image_path);
# 1178|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def248]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1180:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1180 |         asprintf (&image_path, "%s/header-image.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1178|           free (image_path);
# 1179|   
# 1180|->         asprintf (&image_path, "%s/header-image.png", image_dir);
# 1181|           plugin->header_image = ply_image_new (image_path);
# 1182|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def249]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1184:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1184 |         asprintf (&image_path, "%s/background.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1182|           free (image_path);
# 1183|   
# 1184|->         asprintf (&image_path, "%s/background.png", image_dir);
# 1185|           if (!ply_file_exists (image_path)) {
# 1186|                   free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def250]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1187:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1187 |                 asprintf (&image_path, "%s/background-tile.png", image_dir);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1185|           if (!ply_file_exists (image_path)) {
# 1186|                   free (image_path);
# 1187|->                 asprintf (&image_path, "%s/background-tile.png", image_dir);
# 1188|           }
# 1189|   

Error: COMPILER_WARNING (CWE-252): [#def251]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1194:9: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1194 |         asprintf (&image_path, "%s/watermark.png", image_dir);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1192|           free (image_path);
# 1193|   
# 1194|->         asprintf (&image_path, "%s/watermark.png", image_dir);
# 1195|           plugin->watermark_image = ply_image_new (image_path);
# 1196|           free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def252]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1203:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1203 |                 asprintf (&image_path, "%s/emblem-warning.png", image_dir);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1201|           if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") &&
# 1202|               !ply_is_secure_boot_enabled ()) {
# 1203|->                 asprintf (&image_path, "%s/emblem-warning.png", image_dir);
# 1204|                   plugin->secure_boot_warning_image = ply_image_new (image_path);
# 1205|                   free (image_path);

Error: COMPILER_WARNING (CWE-252): [#def253]
plymouth-24.004.60-build/plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1333:17: warning[-Wunused-result]: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’
# 1333 |                 asprintf (&image_path, "%s/bgrt-fallback.png", image_dir);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1331|                   plugin->background_bgrt_image = ply_image_new ("/sys/firmware/acpi/bgrt/image");
# 1332|   
# 1333|->                 asprintf (&image_path, "%s/bgrt-fallback.png", image_dir);
# 1334|                   plugin->background_bgrt_fallback_image = ply_image_new (image_path);
# 1335|                   free (image_path);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def254]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c: scope_hint: In function ‘ply_boot_server_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:115:29: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘server’
#  113|   
#  114|           server = calloc (1, sizeof(ply_boot_server_t));
#  115|->         server->connections = ply_list_new ();
#  116|           server->cached_passwords = ply_list_new ();
#  117|           server->loop = NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def255]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c: scope_hint: In function ‘ply_boot_connection_new’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:170:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘connection’
#  168|   
#  169|           connection = calloc (1, sizeof(ply_boot_connection_t));
#  170|->         connection->fd = fd;
#  171|           connection->server = server;
#  172|           connection->watch = NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def256]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c: scope_hint: In function ‘ply_boot_connection_read_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:245:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*command’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:24: included_from: Included from here.
#  243|   
#  244|           *command = calloc (2, sizeof(char));
#  245|->         *command[0] = header[0];
#  246|   
#  247|           *argument = NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def257]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:245:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command’
#  243|   
#  244|           *command = calloc (2, sizeof(char));
#  245|->         *command[0] = header[0];
#  246|   
#  247|           *argument = NULL;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def258]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c: scope_hint: In function ‘ply_boot_connection_on_request’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:468:25: warning[-Wanalyzer-null-argument]: use of NULL ‘argument’ where non-null expected
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:37: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:423:13: note: in expansion of macro ‘ply_is_tracing’
/usr/include/features.h:511: included_from: Included from here.
/usr/include/bits/libc-header-start.h:33: included_from: Included from here.
/usr/include/stdint.h:26: included_from: Included from here.
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:9: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.h:26: included_from: Included from here.
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:22: included_from: Included from here.
/usr/include/stdlib.h:215:17: note: argument 1 of ‘strtol’ must be non-null
#  466|                   char *endptr = NULL;
#  467|   
#  468|->                 value = strtol (argument, &endptr, 10);
#  469|                   if (endptr == NULL || *endptr != '\0' || value < 0 || value > 100) {
#  470|                           ply_error ("failed to parse percentage %s", argument);

Error: CLANG_WARNING: [#def259]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:468:25: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull'
#  466|                   char *endptr = NULL;
#  467|   
#  468|->                 value = strtol (argument, &endptr, 10);
#  469|                   if (endptr == NULL || *endptr != '\0' || value < 0 || value > 100) {
#  470|                           ply_error ("failed to parse percentage %s", argument);

Error: CLANG_WARNING: [#def260]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:530:40: warning[core.NullDereference]: Array access (from variable 'argument') results in a null pointer dereference
#  528|                   ply_trigger_t *quit_trigger;
#  529|   
#  530|->                 retain_splash = (bool) argument[0];
#  531|   
#  532|                   ply_trace ("got quit %srequest", retain_splash ? "--retain-splash " : "");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def261]
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:530:48: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘argument’
plymouth-24.004.60-build/plymouth-24.004.60/src/ply-boot-server.c:423:13: note: in expansion of macro ‘ply_is_tracing’
#  528|                   ply_trigger_t *quit_trigger;
#  529|   
#  530|->                 retain_splash = (bool) argument[0];
#  531|   
#  532|                   ply_trace ("got quit %srequest", retain_splash ? "--retain-splash " : "");

Scan Properties

analyzer-version-clang18.1.7
analyzer-version-cppcheck2.14.2
analyzer-version-gcc14.1.1
analyzer-version-gcc-analyzer14.1.1
analyzer-version-shellcheck0.10.0
enabled-pluginsclang, cppcheck, gcc, shellcheck
exit-code0
hostip-172-16-1-217.us-west-2.compute.internal
mock-configfedora-41-x86_64
project-nameplymouth-24.004.60-12.fc41
store-results-to/tmp/tmpok2eae6_/plymouth-24.004.60-12.fc41.tar.xz
time-created2024-07-03 17:02:30
time-finished2024-07-03 17:04:22
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-41-x86_64' '-t' 'cppcheck,gcc,clang,shellcheck' '-o' '/tmp/tmpok2eae6_/plymouth-24.004.60-12.fc41.tar.xz' '--gcc-analyze' '/tmp/tmpok2eae6_/plymouth-24.004.60-12.fc41.src.rpm'
tool-versioncsmock-3.5.3-1.el9