Error: SHELLCHECK_WARNING (CWE-252): [#def1] /usr/libexec/plymouth/plymouth-generate-initrd:17:6: warning[SC2164]: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. # 15| if [ $? -eq 0 ]; then # 16| command -v pigz &>/dev/null && gzip=pigz || gzip=gzip # 17|-> (cd $PLYMOUTH_INITRD_DIR; # 18| # FIXME: might make sense to add a flag to plymouth-populate-initrd to # 19| # skip these from the start Error: SHELLCHECK_WARNING (CWE-140): [#def2] /usr/libexec/plymouth/plymouth-populate-initrd:71:24: warning[SC2206]: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. # 69| [[ "${1%/*}" == "$2" ]] && { echo "."; return; } # 70| # 71|-> IFS="/" __current=($1) # 72| IFS="/" __absolute=($2) # 73| Error: SHELLCHECK_WARNING (CWE-140): [#def3] /usr/libexec/plymouth/plymouth-populate-initrd:72:25: warning[SC2206]: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. # 70| # 71| IFS="/" __current=($1) # 72|-> IFS="/" __absolute=($2) # 73| # 74| __abssize=${#__absolute[@]} Error: SHELLCHECK_WARNING (CWE-153): [#def4] /usr/libexec/plymouth/plymouth-populate-initrd:77:40: warning[SC2053]: Quote the right-hand side of == in [[ ]] to prevent glob matching. # 75| __cursize=${#__current[@]} # 76| # 77|-> while [[ ${__absolute[__level]} == ${__current[__level]} ]] # 78| do # 79| (( __level++ )) Error: SHELLCHECK_WARNING (CWE-277): [#def5] /usr/libexec/plymouth/plymouth-populate-initrd:127:19: warning[SC2174]: When used with -p, -m only applies to the deepest directory. # 125| else # 126| # create directory # 127|-> mkdir -m 0755 -p "${initdir}/$_file" || return 1 # 128| [[ -e "$PLYMOUTH_SYSROOT$_file" ]] && chmod --reference="$PLYMOUTH_SYSROOT$_file" "${initdir}/$_file" # 129| chmod u+w "${initdir}/$_file" Error: SHELLCHECK_WARNING (CWE-571): [#def6] /usr/libexec/plymouth/plymouth-populate-initrd:169:19: warning[SC2155]: Declare and assign separately to avoid masking return values. # 167| [[ ! $1 ]] && return 0 # 168| # 169|-> local fn="$1" orig="$(readlink -f "$1")" links='' # 170| # 171| [[ ${fn} =~ .*\.so\..* ]] || return 1 Error: SHELLCHECK_WARNING (CWE-153): [#def7] /usr/libexec/plymouth/plymouth-populate-initrd:175:84: warning[SC2053]: Quote the right-hand side of == in [[ ]] to prevent glob matching. # 173| until [[ ${fn##*.} == so ]]; do # 174| fn="${fn%.*}" # 175|-> [[ -L $PLYMOUTH_SYSROOT${fn} && $(readlink -f "$PLYMOUTH_SYSROOT${fn}") == ${orig} ]] && links+=" ${fn}" # 176| done # 177| Error: SHELLCHECK_WARNING (CWE-156): [#def8] /usr/libexec/plymouth/plymouth-populate-initrd:201:17: warning[SC2046]: Quote this to prevent word splitting. # 199| _dest=${_dest#$PLYMOUTH_SYSROOT} # 200| fi # 201|-> ln -sfn $(convert_abs_rel "${_dest}" "${_reallib}") "${initdir}/${_dest}" # 202| else # 203| inst_simple "$_src" "$_dest" Error: SHELLCHECK_WARNING (CWE-156): [#def9] /usr/libexec/plymouth/plymouth-populate-initrd:302:13: warning[SC2046]: Quote this to prevent word splitting. # 300| [[ ! -e $initdir/${_target%/*} ]] && inst_dir "${_target%/*}" # 301| [[ -d ${_target%/*} ]] && _target=$(readlink -f ${_target%/*})/${_target##*/} # 302|-> ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target" # 303| } # 304| Error: SHELLCHECK_WARNING (CWE-153): [#def10] /usr/libexec/plymouth/plymouth-populate-initrd:313:27: warning[SC2053]: Quote the right-hand side of = in [[ ]] to prevent glob matching. # 311| 1) ;; # 312| 2) [[ ! $initdir && -d $2 ]] && export initdir=$2 # 313|-> [[ $initdir = $2 ]] && set $1;; # 314| 3) [[ -z $initdir ]] && export initdir=$2 # 315| set $1 $3;; Error: SHELLCHECK_WARNING (CWE-457): [#def11] /usr/libexec/plymouth/plymouth-populate-initrd:333:20: warning[SC2154]: hookdirs is referenced but not assigned. # 331| dfatal "Aborting initrd creation." # 332| exit 1 # 333|-> elif ! strstr "$hookdirs" "$1"; then # 334| dfatal "No such hook type $1. Aborting initrd creation." # 335| exit 1 Error: SHELLCHECK_WARNING (CWE-156): [#def12] /usr/libexec/plymouth/plymouth-populate-initrd:386:10: warning[SC2046]: Quote this to prevent word splitting. # 384| function read_setting_from_file() # 385| { # 386|-> echo $(grep -v '^#' $1 2> /dev/null | # 387| awk ' # 388| BEGIN { Error: SHELLCHECK_WARNING (CWE-569): [#def13] /usr/libexec/plymouth/plymouth-populate-initrd:556:40: warning[SC1083]: This { is literal. Check expression (missing ;/\n?) or quote it. # 554| PLYMOUTH_FONT=$(grep "\bFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/Font *= *//' | head -1) # 555| if [ ! -z "$PLYMOUTH_FONT" ]; then # 556|-> PLYMOUTH_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_FONT" 2> /dev/null) # 557| if [ ! -z "$PLYMOUTH_FONT_PATH" ]; then # 558| inst "$PLYMOUTH_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-569): [#def14] /usr/libexec/plymouth/plymouth-populate-initrd:556:45: warning[SC1083]: This } is literal. Check expression (missing ;/\n?) or quote it. # 554| PLYMOUTH_FONT=$(grep "\bFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/Font *= *//' | head -1) # 555| if [ ! -z "$PLYMOUTH_FONT" ]; then # 556|-> PLYMOUTH_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_FONT" 2> /dev/null) # 557| if [ ! -z "$PLYMOUTH_FONT_PATH" ]; then # 558| inst "$PLYMOUTH_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-569): [#def15] /usr/libexec/plymouth/plymouth-populate-initrd:565:46: warning[SC1083]: This { is literal. Check expression (missing ;/\n?) or quote it. # 563| PLYMOUTH_TITLE_FONT=$(grep "\bTitleFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/TitleFont *= *//' | head -1) # 564| if [ ! -z "$PLYMOUTH_TITLE_FONT" ]; then # 565|-> PLYMOUTH_TITLE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_TITLE_FONT" 2> /dev/null) # 566| if [ ! -z "$PLYMOUTH_TITLE_FONT_PATH" ]; then # 567| inst "$PLYMOUTH_TITLE_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-569): [#def16] /usr/libexec/plymouth/plymouth-populate-initrd:565:51: warning[SC1083]: This } is literal. Check expression (missing ;/\n?) or quote it. # 563| PLYMOUTH_TITLE_FONT=$(grep "\bTitleFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/TitleFont *= *//' | head -1) # 564| if [ ! -z "$PLYMOUTH_TITLE_FONT" ]; then # 565|-> PLYMOUTH_TITLE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_TITLE_FONT" 2> /dev/null) # 566| if [ ! -z "$PLYMOUTH_TITLE_FONT_PATH" ]; then # 567| inst "$PLYMOUTH_TITLE_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-569): [#def17] /usr/libexec/plymouth/plymouth-populate-initrd:574:50: warning[SC1083]: This { is literal. Check expression (missing ;/\n?) or quote it. # 572| PLYMOUTH_MONOSPACE_FONT=$(grep "\bMonospaceFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/MonospaceFont *= *//' | head -1) # 573| if [ ! -z "$PLYMOUTH_MONOSPACE_FONT" ]; then # 574|-> PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_FONT" 2> /dev/null) # 575| if [ ! -z "$PLYMOUTH_MONOSPACE_FONT_PATH" ]; then # 576| inst "$PLYMOUTH_MONOSPACE_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-569): [#def18] /usr/libexec/plymouth/plymouth-populate-initrd:574:55: warning[SC1083]: This } is literal. Check expression (missing ;/\n?) or quote it. # 572| PLYMOUTH_MONOSPACE_FONT=$(grep "\bMonospaceFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/MonospaceFont *= *//' | head -1) # 573| if [ ! -z "$PLYMOUTH_MONOSPACE_FONT" ]; then # 574|-> PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_FONT" 2> /dev/null) # 575| if [ ! -z "$PLYMOUTH_MONOSPACE_FONT_PATH" ]; then # 576| inst "$PLYMOUTH_MONOSPACE_FONT_PATH" $INITRDDIR Error: SHELLCHECK_WARNING (CWE-477): [#def19] /usr/libexec/plymouth/plymouth-populate-initrd:595:57: warning[SC2166]: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. # 593| fi # 594| # 595|-> if [ "${PLYMOUTH_IMAGE_DIR}" != "${PLYMOUTH_THEME_DIR}" -a -d "${PLYMOUTH_SYSROOT}${PLYMOUTH_IMAGE_DIR}" ]; then # 596| inst_recur "${PLYMOUTH_IMAGE_DIR}" # 597| fi Error: SHELLCHECK_WARNING (CWE-569): [#def20] /usr/libexec/plymouth/plymouth-populate-initrd:599:29: warning[SC1083]: This { is literal. Check expression (missing ;/\n?) or quote it. # 597| fi # 598| # 599|-> DEFAULT_FONT=$(fc-match -f %{file} 2> /dev/null) # 600| [ ! -z "$DEFAULT_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR # 601| DEFAULT_MONOSPACE_FONT=$(fc-match -f %{file} monospace 2> /dev/null) Error: SHELLCHECK_WARNING (CWE-569): [#def21] /usr/libexec/plymouth/plymouth-populate-initrd:599:34: warning[SC1083]: This } is literal. Check expression (missing ;/\n?) or quote it. # 597| fi # 598| # 599|-> DEFAULT_FONT=$(fc-match -f %{file} 2> /dev/null) # 600| [ ! -z "$DEFAULT_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR # 601| DEFAULT_MONOSPACE_FONT=$(fc-match -f %{file} monospace 2> /dev/null) Error: SHELLCHECK_WARNING (CWE-569): [#def22] /usr/libexec/plymouth/plymouth-populate-initrd:601:39: warning[SC1083]: This { is literal. Check expression (missing ;/\n?) or quote it. # 599| DEFAULT_FONT=$(fc-match -f %{file} 2> /dev/null) # 600| [ ! -z "$DEFAULT_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR # 601|-> DEFAULT_MONOSPACE_FONT=$(fc-match -f %{file} monospace 2> /dev/null) # 602| [ ! -z "$DEFAULT_MONOSPACE_FONT" ] && inst "$DEFAULT_MONOSPACE_FONT" $INITRDDIR # 603| Error: SHELLCHECK_WARNING (CWE-569): [#def23] /usr/libexec/plymouth/plymouth-populate-initrd:601:44: warning[SC1083]: This } is literal. Check expression (missing ;/\n?) or quote it. # 599| DEFAULT_FONT=$(fc-match -f %{file} 2> /dev/null) # 600| [ ! -z "$DEFAULT_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR # 601|-> DEFAULT_MONOSPACE_FONT=$(fc-match -f %{file} monospace 2> /dev/null) # 602| [ ! -z "$DEFAULT_MONOSPACE_FONT" ] && inst "$DEFAULT_MONOSPACE_FONT" $INITRDDIR # 603| Error: SHELLCHECK_WARNING (CWE-477): [#def24] /usr/libexec/plymouth/plymouth-populate-initrd:616:29: warning[SC2166]: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. # 614| fi # 615| # 616|-> if [ -n "$SYSTEMD_UNIT_DIR" -a -d "${PLYMOUTH_SYSROOT}$SYSTEMD_UNIT_DIR" ]; then # 617| inst $SYSTEMD_UNIT_DIR/systemd-ask-password-plymouth.path $INITRDDIR # 618| inst $SYSTEMD_UNIT_DIR/systemd-ask-password-plymouth.service $INITRDDIR Error: SHELLCHECK_WARNING (CWE-156): [#def25] /usr/sbin/plymouth-set-default-theme:47:14: warning[SC2046]: Quote this to prevent word splitting. # 45| function read_theme_name_from_file () # 46| { # 47|-> echo $(grep -v '^#' $1 2> /dev/null | # 48| awk ' # 49| BEGIN { Error: SHELLCHECK_WARNING (CWE-477): [#def26] /usr/sbin/plymouth-set-default-theme:62:31: warning[SC2166]: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. # 60| { # 61| THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_CONFDIR}/plymouthd.conf) # 62|-> if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then # 63| THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_POLICYDIR}/plymouthd.defaults) # 64| fi Error: SHELLCHECK_WARNING (CWE-477): [#def27] /usr/sbin/plymouth-set-default-theme:66:31: warning[SC2166]: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. # 64| fi # 65| # 66|-> if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" \ # 67| -a -L "${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth" ]; then # 68| THEME_NAME=$(basename "$(readlink ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth)" .plymouth) Error: SHELLCHECK_WARNING (CWE-477): [#def28] /usr/sbin/plymouth-set-default-theme:67:14: warning[SC2166]: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. # 65| # 66| if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" \ # 67|-> -a -L "${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth" ]; then # 68| THEME_NAME=$(basename "$(readlink ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth)" .plymouth) # 69| fi Error: SHELLCHECK_WARNING (CWE-477): [#def29] /usr/sbin/plymouth-set-default-theme:70:31: warning[SC2166]: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. # 68| THEME_NAME=$(basename "$(readlink ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth)" .plymouth) # 69| fi # 70|-> if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then # 71| THEME_NAME="text" # 72| fi Error: SHELLCHECK_WARNING (CWE-156): [#def30] /usr/sbin/plymouth-set-default-theme:88:30: warning[SC2046]: Quote this to prevent word splitting. # 86| if [ -n "$THEME_NAME" ]; then # 87| echo "You can only specify --list or a theme name, not both" >&2 # 88|-> echo $(usage) >&2 # 89| exit 1 # 90| fi Error: SHELLCHECK_WARNING (CWE-156): [#def31] /usr/sbin/plymouth-set-default-theme:94:30: warning[SC2046]: Quote this to prevent word splitting. # 92| if [ $DO_RESET -ne 0 ]; then # 93| echo "You can only specify --reset or --list, not both" >&2 # 94|-> echo $(usage) >&2 # 95| exit 1 # 96| fi Error: SHELLCHECK_WARNING (CWE-156): [#def32] /usr/sbin/plymouth-set-default-theme:108:30: warning[SC2046]: Quote this to prevent word splitting. # 106| if [ -n "$THEME_NAME" ]; then # 107| echo "You can only specify --reset or a theme name, not both" >&2 # 108|-> echo $(usage) >&2 # 109| exit 1 # 110| fi Error: SHELLCHECK_WARNING (CWE-156): [#def33] /usr/sbin/plymouth-set-default-theme:114:30: warning[SC2046]: Quote this to prevent word splitting. # 112| if [ $DO_LIST -ne 0 ]; then # 113| echo "You can only specify --reset or --list, not both" >&2 # 114|-> echo $(usage) >&2 # 115| exit 1 # 116| fi Error: SHELLCHECK_WARNING (CWE-156): [#def34] /usr/sbin/plymouth-set-default-theme:127:22: warning[SC2046]: Quote this to prevent word splitting. # 125| -[!-]*-*) # 126| echo "Short options can't have embedded dashes" >&2 # 127|-> echo $(usage) >&2 # 128| exit 1 # 129| ;; Error: SHELLCHECK_WARNING (CWE-140): [#def35] /usr/sbin/plymouth-set-default-theme:135:23: warning[SC2206]: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. # 133| shift # 134| # 135|-> ARGS=($COMPRESSED_OPTIONS $(echo $COMPRESSED_OPTIONS | sed -e 's/^-//' -e 's/[^-]/-& /g') "$@") # 136| # 137| set -- "${ARGS[@]}" Error: SHELLCHECK_WARNING (CWE-140): [#def36] /usr/sbin/plymouth-set-default-theme:135:43: warning[SC2207]: Prefer mapfile or read -a to split command output (or quote to avoid splitting). # 133| shift # 134| # 135|-> ARGS=($COMPRESSED_OPTIONS $(echo $COMPRESSED_OPTIONS | sed -e 's/^-//' -e 's/[^-]/-& /g') "$@") # 136| # 137| set -- "${ARGS[@]}" Error: SHELLCHECK_WARNING (CWE-156): [#def37] /usr/sbin/plymouth-set-default-theme:142:22: warning[SC2046]: Quote this to prevent word splitting. # 140| -*) # 141| echo "Unknown option: '$1'" >&2 # 142|-> echo $(usage) >&2 # 143| exit 1 # 144| ;; Error: SHELLCHECK_WARNING (CWE-156): [#def38] /usr/sbin/plymouth-set-default-theme:149:30: warning[SC2046]: Quote this to prevent word splitting. # 147| if [ -n "$THEME_NAME" ]; then # 148| echo "You can only specify one theme at a time" >&2 # 149|-> echo $(usage) >&2 # 150| exit 1 # 151| fi Error: SHELLCHECK_WARNING (CWE-156): [#def39] /usr/sbin/plymouth-set-default-theme:155:30: warning[SC2046]: Quote this to prevent word splitting. # 153| if [ $DO_RESET -ne 0 ]; then # 154| echo "You can only specify --reset or a theme name, not both" >&2 # 155|-> echo $(usage) >&2 # 156| exit 1 # 157| fi Error: SHELLCHECK_WARNING (CWE-156): [#def40] /usr/sbin/plymouth-set-default-theme:161:30: warning[SC2046]: Quote this to prevent word splitting. # 159| if [ $DO_LIST -ne 0 ]; then # 160| echo "You can only specify --list or a theme name, not both" >&2 # 161|-> echo $(usage) >&2 # 162| exit 1 # 163| fi Error: SHELLCHECK_WARNING (CWE-156): [#def41] /usr/sbin/plymouth-set-default-theme:186:6: warning[SC2046]: Quote this to prevent word splitting. # 184| fi # 185| # 186|-> if [ `id -u` -ne 0 ]; then # 187| echo "This program must be run as root" >&2 # 188| exit 1 Error: SHELLCHECK_WARNING (CWE-477): [#def42] /usr/sbin/plymouth-set-default-theme:199:31: warning[SC2166]: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. # 197| fi # 198| # 199|-> if [ $DO_INITRD_REBUILD -ne 0 -a -z $THEME_NAME ]; then # 200| THEME_NAME=$(get_default_theme) # 201| fi Error: GCC_ANALYZER_WARNING (CWE-476): [#def43] 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): [#def44] 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: GCC_ANALYZER_WARNING (CWE-688): [#def45] 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): [#def46] 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: GCC_ANALYZER_WARNING (CWE-476): [#def47] 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): [#def48] 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): [#def49] 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): [#def50] 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): [#def51] 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): [#def52] 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): [#def53] 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): [#def54] 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): [#def55] 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): [#def56] 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): [#def57] 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): [#def58] 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: GCC_ANALYZER_WARNING (CWE-688): [#def59] 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): [#def60] 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): [#def61] 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): [#def62] 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): [#def63] 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: COMPILER_WARNING (CWE-457): [#def64] 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): [#def65] 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: GCC_ANALYZER_WARNING (CWE-476): [#def66] 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): [#def67] 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_escape_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): [#def68] 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): [#def69] 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): [#def70] 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): [#def71] 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): [#def72] 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: GCC_ANALYZER_WARNING (CWE-476): [#def73] 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): [#def74] 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): [#def75] 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): [#def76] 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)) + (long unsigned int)((long int)y * width + (long int)x) * 4’ # 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): [#def77] 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)) + (long unsigned int)(y * width + x) * 4’ # 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): [#def78] 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): [#def79] 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))’ # 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): [#def80] 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): [#def81] 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: GCC_ANALYZER_WARNING (CWE-476): [#def82] 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): [#def83] 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: GCC_ANALYZER_WARNING (CWE-476): [#def84] 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): [#def85] 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): [#def86] 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): [#def87] 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): [#def88] 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): [#def89] 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): [#def90] 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): [#def91] 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): [#def92] 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): [#def93] 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): [#def94] 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): [#def95] 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): [#def96] 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): [#def97] 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): [#def98] 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): [#def99] 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): [#def100] 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): [#def101] 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): [#def102] 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): [#def103] 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: GCC_ANALYZER_WARNING (CWE-476): [#def104] 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): [#def105] 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): [#def106] 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): [#def107] 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): [#def108] 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): [#def109] 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:334: 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: GCC_ANALYZER_WARNING (CWE-688): [#def110] 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): [#def111] 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: GCC_ANALYZER_WARNING (CWE-476): [#def112] 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): [#def113] 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): [#def114] 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: GCC_ANALYZER_WARNING (CWE-476): [#def115] 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: GCC_ANALYZER_WARNING (CWE-476): [#def116] 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): [#def117] 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): [#def118] 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): [#def119] 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): [#def120] 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): [#def121] 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): [#def122] 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): [#def123] 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): [#def124] 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): [#def125] 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): [#def126] 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: GCC_ANALYZER_WARNING (CWE-476): [#def127] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:140:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_watch_signal’ # 138| # 139| source = calloc (1, sizeof(ply_signal_source_t)); # 140|-> source->signal_number = signal_number; # 141| source->handler = signal_handler; # 142| source->user_data = user_data; Error: GCC_ANALYZER_WARNING (CWE-476): [#def128] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_watch_for_exit’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:876:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:24: included_from: Included from here. # 874| # 875| closure = calloc (1, sizeof(ply_event_loop_exit_closure_t)); # 876|-> closure->handler = exit_handler; # 877| closure->user_data = user_data; # 878| Error: GCC_ANALYZER_WARNING (CWE-476): [#def129] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_watch_for_timeout’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:920:32: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘timeout_watch’ # 918| # 919| timeout_watch = calloc (1, sizeof(ply_event_loop_timeout_watch_t)); # 920|-> timeout_watch->timeout = ply_get_timestamp () + seconds; # 921| timeout_watch->handler = timeout_handler; # 922| timeout_watch->user_data = user_data; Error: GCC_ANALYZER_WARNING (CWE-416): [#def130] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_free_watches_for_source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:1085:29: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_free_watches_for_source’ # 1083| ply_fd_watch_t *watch; # 1084| # 1085|-> next_node = ply_list_get_next_node (source->fd_watches, node); # 1086| # 1087| watch = (ply_fd_watch_t *) ply_list_node_get_data (node); Error: GCC_ANALYZER_WARNING (CWE-416): [#def131] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_free_destinations_for_source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:1131:16: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_free_destinations_for_source’ # 1129| assert (source != NULL); # 1130| # 1131|-> node = ply_list_get_first_node (source->destinations); # 1132| while (node != NULL) { # 1133| ply_list_node_t *next_node; Error: GCC_ANALYZER_WARNING (CWE-416): [#def132] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:1136:29: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:25: 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/ply-event-loop.c:1142:17: note: in expansion of macro ‘ply_trace’ # 1134| ply_event_destination_t *destination; # 1135| # 1136|-> next_node = ply_list_get_next_node (source->destinations, node); # 1137| # 1138| destination = Error: GCC_ANALYZER_WARNING (CWE-416): [#def133] plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c: scope_hint: In function ‘ply_event_loop_disconnect_source’ plymouth-24.004.60-build/plymouth-24.004.60/src/libply/ply-event-loop.c:1165:17: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘source’ 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/ply-event-loop.c:1142:17: note: in expansion of macro ‘ply_trace’ # 1163| ply_event_loop_free_watches_for_source (loop, source); # 1164| ply_event_loop_free_destinations_for_source (loop, source); # 1165|-> assert (ply_list_get_length (source->destinations) == 0); # 1166| ply_event_loop_remove_source (loop, source); # 1167| } Error: GCC_ANALYZER_WARNING (CWE-476): [#def134] 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): [#def135] 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): [#def136] 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): [#def137] 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): [#def138] 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): [#def139] 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): [#def140] 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): [#def141] 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): [#def142] 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): [#def143] 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): [#def144] 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): [#def145] 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): [#def146] 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): [#def147] 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: GCC_ANALYZER_WARNING (CWE-476): [#def148] 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: GCC_ANALYZER_WARNING (CWE-476): [#def149] 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): [#def150] 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): [#def151] 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): [#def152] 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: GCC_ANALYZER_WARNING (CWE-476): [#def153] 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): [#def154] 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): [#def155] 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): [#def156] 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): [#def157] 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): [#def158] 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): [#def159] 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): [#def160] 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): [#def161] 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): [#def162] 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: [#def163] 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: COMPILER_WARNING (CWE-252): [#def164] 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): [#def165] 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): [#def166] 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): [#def167] 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): [#def168] 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): [#def169] 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: COMPILER_WARNING (CWE-252): [#def170] 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): [#def171] 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): [#def172] 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): [#def173] 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): [#def174] 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): [#def175] 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): [#def176] 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: COMPILER_WARNING (CWE-252): [#def177] 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): [#def178] 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: COMPILER_WARNING (CWE-457): [#def179] 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): [#def180] 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): [#def181] 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): [#def182] 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): [#def183] 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: GCC_ANALYZER_WARNING (CWE-476): [#def184] 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: GCC_ANALYZER_WARNING (CWE-476): [#def185] 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): [#def186] 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: GCC_ANALYZER_WARNING (CWE-476): [#def187] 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: GCC_ANALYZER_WARNING (CWE-476): [#def188] 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): [#def189] 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): [#def190] 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): [#def191] 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): [#def192] 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): [#def193] 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: COMPILER_WARNING (CWE-252): [#def194] 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): [#def195] 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): [#def196] 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): [#def197] 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): [#def198] 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): [#def199] 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): [#def200] 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: COMPILER_WARNING (CWE-252): [#def201] 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: COMPILER_WARNING (CWE-252): [#def202] 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: COMPILER_WARNING (CWE-252): [#def203] 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): [#def204] 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): [#def205] 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: GCC_ANALYZER_WARNING (CWE-476): [#def206] 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): [#def207] 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): [#def208] 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): [#def209] 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): [#def210] 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): [#def211] 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): [#def212] 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): [#def213] 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): [#def214] 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: GCC_ANALYZER_WARNING (CWE-476): [#def215] 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): [#def216] 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: GCC_ANALYZER_WARNING (CWE-476): [#def217] 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: GCC_ANALYZER_WARNING (CWE-476): [#def218] 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): [#def219] 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): [#def220] 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): [#def221] 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): [#def222] 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): [#def223] 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: GCC_ANALYZER_WARNING (CWE-476): [#def224] 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): [#def225] 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): [#def226] 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): [#def227] 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): [#def228] 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: 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 ‘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): [#def230] 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): [#def231] 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): [#def232] 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): [#def233] 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): [#def234] 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): [#def235] 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): [#def236] 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): [#def237] 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: COMPILER_WARNING (CWE-252): [#def238] 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): [#def239] 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): [#def240] 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): [#def241] 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): [#def242] 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): [#def243] 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): [#def244] 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): [#def245] 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): [#def246] 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): [#def247] 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): [#def248] 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): [#def249] 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): [#def250] 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): [#def251] 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. /opt/gcc-latest/lib/gcc/x86_64-pc-linux-gnu/15.0.0/include/stdint.h:11: 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: GCC_ANALYZER_WARNING (CWE-476): [#def252] 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 " : "");
analyzer-version-clippy | 1.82.0 |
analyzer-version-cppcheck | 2.16.0 |
analyzer-version-gcc | 14.2.1 |
analyzer-version-gcc-analyzer | 15.0.0 |
analyzer-version-shellcheck | 0.10.0 |
analyzer-version-unicontrol | 0.0.2 |
enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
exit-code | 0 |
host | ip-172-16-1-108.us-west-2.compute.internal |
mock-config | fedora-rawhide-gcc-latest-x86_64 |
project-name | plymouth-24.004.60-14.fc42 |
store-results-to | /tmp/tmpf1usjwp4/plymouth-24.004.60-14.fc42.tar.xz |
time-created | 2024-11-13 02:38:32 |
time-finished | 2024-11-13 02:40:37 |
tool | csmock |
tool-args | '/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'clippy,cppcheck,gcc,unicontrol,shellcheck' '-o' '/tmp/tmpf1usjwp4/plymouth-24.004.60-14.fc42.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpf1usjwp4/plymouth-24.004.60-14.fc42.src.rpm' |
tool-version | csmock-3.7.1.20241107.094801.gb3f0f26.pr_192-1.el9 |