plymouth-24.004.60-14.fc42

List of Findings

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 " : "");

Scan Properties

analyzer-version-clippy1.82.0
analyzer-version-cppcheck2.16.0
analyzer-version-gcc14.2.1
analyzer-version-gcc-analyzer15.0.0
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-108.us-west-2.compute.internal
mock-configfedora-rawhide-gcc-latest-x86_64
project-nameplymouth-24.004.60-14.fc42
store-results-to/tmp/tmpf1usjwp4/plymouth-24.004.60-14.fc42.tar.xz
time-created2024-11-13 02:38:32
time-finished2024-11-13 02:40:37
toolcsmock
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-versioncsmock-3.7.1.20241107.094801.gb3f0f26.pr_192-1.el9