plymouth-24.004.60-21.fc44

List of Findings

Error: SHELLCHECK_WARNING (CWE-156): [#def1]
/usr/bin/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): [#def2]
/usr/bin/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): [#def3]
/usr/bin/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): [#def4]
/usr/bin/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): [#def5]
/usr/bin/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): [#def6]
/usr/bin/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): [#def7]
/usr/bin/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): [#def8]
/usr/bin/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): [#def9]
/usr/bin/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): [#def10]
/usr/bin/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): [#def11]
/usr/bin/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): [#def12]
/usr/bin/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): [#def13]
/usr/bin/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): [#def14]
/usr/bin/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): [#def15]
/usr/bin/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): [#def16]
/usr/bin/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): [#def17]
/usr/bin/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): [#def18]
/usr/bin/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: SHELLCHECK_WARNING (CWE-252): [#def19]
/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): [#def20]
/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): [#def21]
/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): [#def22]
/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): [#def23]
/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): [#def24]
/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): [#def25]
/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): [#def26]
/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): [#def27]
/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): [#def28]
/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): [#def29]
/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): [#def30]
/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): [#def31]
/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): [#def32]
/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): [#def33]
/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): [#def34]
/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): [#def35]
/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): [#def36]
/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): [#def37]
/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): [#def38]
/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): [#def39]
/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): [#def40]
/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): [#def41]
/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): [#def42]
/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: CPPCHECK_WARNING (CWE-476): [#def43]
plymouth-24.004.60/src/client/ply-boot-client.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   70|   
#   71|           client = calloc (1, sizeof(ply_boot_client_t));
#   72|->         client->daemon_can_take_request_watch = NULL;
#   73|           client->daemon_has_reply_watch = NULL;
#   74|           client->requests_to_send = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def44]
plymouth-24.004.60/src/client/ply-boot-client.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   71|           client = calloc (1, sizeof(ply_boot_client_t));
#   72|           client->daemon_can_take_request_watch = NULL;
#   73|->         client->daemon_has_reply_watch = NULL;
#   74|           client->requests_to_send = ply_list_new ();
#   75|           client->requests_waiting_for_replies = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def45]
plymouth-24.004.60/src/client/ply-boot-client.c:74: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   72|           client->daemon_can_take_request_watch = NULL;
#   73|           client->daemon_has_reply_watch = NULL;
#   74|->         client->requests_to_send = ply_list_new ();
#   75|           client->requests_waiting_for_replies = ply_list_new ();
#   76|           client->loop = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def46]
plymouth-24.004.60/src/client/ply-boot-client.c:75: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   73|           client->daemon_has_reply_watch = NULL;
#   74|           client->requests_to_send = ply_list_new ();
#   75|->         client->requests_waiting_for_replies = ply_list_new ();
#   76|           client->loop = NULL;
#   77|           client->is_connected = false;

Error: CPPCHECK_WARNING (CWE-476): [#def47]
plymouth-24.004.60/src/client/ply-boot-client.c:76: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   74|           client->requests_to_send = ply_list_new ();
#   75|           client->requests_waiting_for_replies = ply_list_new ();
#   76|->         client->loop = NULL;
#   77|           client->is_connected = false;
#   78|           client->disconnect_handler = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def48]
plymouth-24.004.60/src/client/ply-boot-client.c:77: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   75|           client->requests_waiting_for_replies = ply_list_new ();
#   76|           client->loop = NULL;
#   77|->         client->is_connected = false;
#   78|           client->disconnect_handler = NULL;
#   79|           client->disconnect_handler_user_data = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def49]
plymouth-24.004.60/src/client/ply-boot-client.c:78: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   76|           client->loop = NULL;
#   77|           client->is_connected = false;
#   78|->         client->disconnect_handler = NULL;
#   79|           client->disconnect_handler_user_data = NULL;
#   80|   

Error: CPPCHECK_WARNING (CWE-476): [#def50]
plymouth-24.004.60/src/client/ply-boot-client.c:79: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: client
#   77|           client->is_connected = false;
#   78|           client->disconnect_handler = NULL;
#   79|->         client->disconnect_handler_user_data = NULL;
#   80|   
#   81|           return client;

Error: CPPCHECK_WARNING (CWE-476): [#def51]
plymouth-24.004.60/src/client/ply-boot-client.c:215: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request
#  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-476): [#def52]
plymouth-24.004.60/src/client/ply-boot-client.c:215:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘request’
plymouth-24.004.60/src/client/ply-boot-client.c:211:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:212:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:212:9: branch_true: following ‘true’ branch (when ‘request_command’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:214:19: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:214:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/ply-boot-client.c:215:9: danger: ‘request’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#  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: CPPCHECK_WARNING (CWE-476): [#def53]
plymouth-24.004.60/src/client/ply-boot-client.c:216: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request
#  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)
#  218|                   request->argument = strdup (request_argument);

Error: CPPCHECK_WARNING (CWE-476): [#def54]
plymouth-24.004.60/src/client/ply-boot-client.c:219: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request
#  217|           if (request_argument != NULL)
#  218|                   request->argument = strdup (request_argument);
#  219|->         request->handler = handler;
#  220|           request->failed_handler = failed_handler;
#  221|           request->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def55]
plymouth-24.004.60/src/client/ply-boot-client.c:220: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request
#  218|                   request->argument = strdup (request_argument);
#  219|           request->handler = handler;
#  220|->         request->failed_handler = failed_handler;
#  221|           request->user_data = user_data;
#  222|   

Error: CPPCHECK_WARNING (CWE-476): [#def56]
plymouth-24.004.60/src/client/ply-boot-client.c:221: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request
#  219|           request->handler = handler;
#  220|           request->failed_handler = failed_handler;
#  221|->         request->user_data = user_data;
#  222|   
#  223|           return request;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def57]
plymouth-24.004.60/src/client/ply-boot-client.c:284:30: warning[-Wanalyzer-malloc-leak]: leak of ‘answer’
plymouth-24.004.60/src/client/ply-boot-client.c:256:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:259:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:259:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:264:24: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:265:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:267:49: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:268:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:270:14: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:270:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:273:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:273:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:279:22: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:279:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:282:34: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:282:26: acquire_memory: allocated here
plymouth-24.004.60/src/client/ply-boot-client.c:283:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:284:30: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:284:30: danger: ‘answer’ leaks here; was allocated at [(17)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/16)
#  282|                   answer = malloc ((size + 1) * sizeof(char));
#  283|                   if (size > 0) {
#  284|->                         if (!ply_read (client->socket_fd, answer, size)) {
#  285|                                   free (answer);
#  286|                                   goto out;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
plymouth-24.004.60/src/client/ply-boot-client.c:292:25: warning[-Wanalyzer-malloc-leak]: leak of ‘answer’
plymouth-24.004.60/src/client/ply-boot-client.c:256:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:259:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:259:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:264:24: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:265:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:267:49: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:268:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:270:14: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:270:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:273:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:273:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:279:22: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:279:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:282:34: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:282:26: acquire_memory: allocated here
plymouth-24.004.60/src/client/ply-boot-client.c:283:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:290:23: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:291:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:292:25: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:292:25: danger: ‘answer’ leaks here; was allocated at [(17)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/16)
#  290|                   answer[size] = '\0';
#  291|                   if (request->handler != NULL)
#  292|->                         ((ply_boot_client_answer_handler_t) request->handler)(request->user_data, answer, client);
#  293|                   free (answer);
#  294|           } else if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_MULTIPLE_ANSWERS, sizeof(uint8_t)) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def59]
plymouth-24.004.60/src/client/ply-boot-client.c:312:22: warning[-Wanalyzer-malloc-leak]: leak of ‘answer’
plymouth-24.004.60/src/client/ply-boot-client.c:256:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:259:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:259:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:264:24: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:265:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:267:49: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:268:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:270:14: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:270:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:273:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:273:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:294:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:294:19: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:305:22: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:305:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:308:17: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:308:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:310:26: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:310:26: acquire_memory: allocated here
plymouth-24.004.60/src/client/ply-boot-client.c:312:22: danger: ‘answer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/20)
#  310|                   answer = malloc (size);
#  311|   
#  312|->                 if (!ply_read (client->socket_fd, answer, size)) {
#  313|                           free (answer);
#  314|                           goto out;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def60]
plymouth-24.004.60/src/client/ply-boot-client.c:324:33: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(p)’
plymouth-24.004.60/src/client/ply-boot-client.c:256:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:259:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:259:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:264:24: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:265:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:267:49: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:268:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:270:14: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:270:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:273:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:273:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:276:19: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:294:19: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:294:19: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:305:22: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:305:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:308:17: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:308:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:310:26: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:312:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:317:25: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:321:29: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:322:29: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:322:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:323:71: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:323:71: acquire_memory: allocated here
plymouth-24.004.60/src/client/ply-boot-client.c:324:33: danger: ‘strdup(p)’ leaks here; was allocated at [(27)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/26)
#  322|                           if (*q == '\0') {
#  323|                                   ply_array_add_pointer_element (array, strdup (p));
#  324|->                                 p = q + 1;
#  325|                           }
#  326|                   }

Error: CPPCHECK_WARNING (CWE-476): [#def61]
plymouth-24.004.60/src/client/ply-boot-client.c:377: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: request_string
#  375|           if (request->argument == NULL) {
#  376|                   request_string = strdup (request->command);
#  377|->                 *request_size = strlen (request_string) + 1;
#  378|                   return request_string;
#  379|           }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def62]
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
plymouth-24.004.60/src/client/ply-boot-client.c:369:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:370:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:370:9: branch_true: following ‘true’ branch (when ‘request’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:371:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:371:9: branch_true: following ‘true’ branch (when ‘request_size’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:373:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:373:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:375:13: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:375:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:376:34: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:376:34: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/ply-boot-client.c:377:33: danger: argument 1 (‘strdup(*request.command)’) from [(11)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/10) could be NULL where non-null expected
#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): [#def63]
plymouth-24.004.60/src/client/ply-boot-client.c: scope_hint: In function ‘ply_boot_client_get_request_string’
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-401): [#def64]
plymouth-24.004.60/src/client/ply-boot-client.c:403:14: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_boot_client_get_request_string(client,  request, & request_size)’
plymouth-24.004.60/src/client/ply-boot-client.c:392:1: enter_function: entry to ‘ply_boot_client_send_request’
plymouth-24.004.60/src/client/ply-boot-client.c:398:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:399:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:399:9: branch_true: following ‘true’ branch (when ‘request’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:401:26: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:401:26: call_function: calling ‘ply_boot_client_get_request_string’ from ‘ply_boot_client_send_request’
plymouth-24.004.60/src/client/ply-boot-client.c:401:26: return_function: returning to ‘ply_boot_client_send_request’ from ‘ply_boot_client_get_request_string’
plymouth-24.004.60/src/client/ply-boot-client.c:403:14: danger: ‘ply_boot_client_get_request_string(client,  request, & request_size)’ leaks here; was allocated at [(18)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/17)
#  401|           request_string = ply_boot_client_get_request_string (client, request,
#  402|                                                                &request_size);
#  403|->         if (!ply_write (client->socket_fd, request_string, request_size)) {
#  404|                   free (request_string);
#  405|                   ply_boot_client_cancel_request (client, request);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
plymouth-24.004.60/src/client/ply-boot-client.c:486:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/client/ply-boot-client.c:454:1: enter_function: entry to ‘ply_boot_client_queue_request’
plymouth-24.004.60/src/client/ply-boot-client.c:461:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:462:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:462:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:463:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:463:9: branch_true: following ‘true’ branch (when ‘request_command’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:464:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:477:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: call_function: calling ‘ply_boot_client_request_new’ from ‘ply_boot_client_queue_request’
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: return_function: returning to ‘ply_boot_client_queue_request’ from ‘ply_boot_client_request_new’
plymouth-24.004.60/src/client/ply-boot-client.c:486:17: danger: ‘<unknown>’ leaks here; was allocated at [(16)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/15)
#  484|                                                          request_argument,
#  485|                                                          handler, failed_handler, user_data);
#  486|->                 ply_list_append_data (client->requests_to_send, request);
#  487|           }
#  488|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def66]
plymouth-24.004.60/src/client/ply-boot-client.c:486:17: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_boot_client_request_new(client,  request_command,  request_argument,  handler,  failed_handler,  user_data)’
plymouth-24.004.60/src/client/ply-boot-client.c:454:1: enter_function: entry to ‘ply_boot_client_queue_request’
plymouth-24.004.60/src/client/ply-boot-client.c:461:9: branch_true: following ‘true’ branch (when ‘client’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:462:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:462:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:463:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:463:9: branch_true: following ‘true’ branch (when ‘request_command’ is non-NULL)...
plymouth-24.004.60/src/client/ply-boot-client.c:464:9: branch_true: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:477:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: branch_false: ...to here
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: call_function: calling ‘ply_boot_client_request_new’ from ‘ply_boot_client_queue_request’
plymouth-24.004.60/src/client/ply-boot-client.c:483:27: return_function: returning to ‘ply_boot_client_queue_request’ from ‘ply_boot_client_request_new’
plymouth-24.004.60/src/client/ply-boot-client.c:486:17: danger: ‘ply_boot_client_request_new(client,  request_command,  request_argument,  handler,  failed_handler,  user_data)’ leaks here; was allocated at [(16)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/15)
#  484|                                                          request_argument,
#  485|                                                          handler, failed_handler, user_data);
#  486|->                 ply_list_append_data (client->requests_to_send, request);
#  487|           }
#  488|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def67]
plymouth-24.004.60/src/client/plymouth.c:113:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘args’
plymouth-24.004.60/src/client/plymouth.c:108:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/plymouth.c:111:27: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:112:20: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:112:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:113:49: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:113:25: danger: ‘args + (long unsigned int)i * 8’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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): [#def68]
plymouth-24.004.60/src/client/plymouth.c:126:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘args’
plymouth-24.004.60/src/client/plymouth.c:108:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/plymouth.c:126:9: danger: ‘args + (long unsigned int)i * 8’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  124|           }
#  125|   
#  126|->         args[i++] = strndup (q, p - q);
#  127|   
#  128|           return args;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def69]
plymouth-24.004.60/src/client/plymouth.c:163:25: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/client/plymouth.c:132:1: enter_function: entry to ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:149:13: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:154:15: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:156:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_true: following ‘true’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/client/plymouth.c:161:24: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:161:24: call_function: calling ‘split_string’ from ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:161:24: return_function: returning to ‘answer_via_command’ from ‘split_string’
plymouth-24.004.60/src/client/plymouth.c:162:20: branch_true: following ‘true’ branch (when ‘answer’ is non-NULL)...
plymouth-24.004.60/src/client/plymouth.c:163:25: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:163:25: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/9)
#  161|                   args = split_string (command, ' ');
#  162|                   if (answer != NULL) {
#  163|->                         close (command_input_sender_fd);
#  164|                           dup2 (command_input_receiver_fd, STDIN_FILENO);
#  165|                   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
plymouth-24.004.60/src/client/plymouth.c:163:25: warning[-Wanalyzer-malloc-leak]: leak of ‘split_string(command, 32)’
plymouth-24.004.60/src/client/plymouth.c:132:1: enter_function: entry to ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:149:13: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:154:15: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:156:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_true: following ‘true’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/client/plymouth.c:161:24: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:161:24: call_function: calling ‘split_string’ from ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:161:24: return_function: returning to ‘answer_via_command’ from ‘split_string’
plymouth-24.004.60/src/client/plymouth.c:162:20: branch_true: following ‘true’ branch (when ‘answer’ is non-NULL)...
plymouth-24.004.60/src/client/plymouth.c:163:25: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:163:25: danger: ‘split_string(command, 32)’ leaks here; was allocated at [(10)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/9)
#  161|                   args = split_string (command, ' ');
#  162|                   if (answer != NULL) {
#  163|->                         close (command_input_sender_fd);
#  164|                           dup2 (command_input_receiver_fd, STDIN_FILENO);
#  165|                   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def71]
plymouth-24.004.60/src/client/plymouth.c:167:17: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘*<unknown>’ where non-null expected
plymouth-24.004.60/src/client/plymouth.c:132:1: enter_function: entry to ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:156:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_true: following ‘true’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/client/plymouth.c:161:24: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:161:24: call_function: calling ‘split_string’ from ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:161:24: return_function: returning to ‘answer_via_command’ from ‘split_string’
plymouth-24.004.60/src/client/plymouth.c:162:20: branch_false: following ‘false’ branch (when ‘answer’ is NULL)...
plymouth-24.004.60/src/client/plymouth.c:167:17: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:167:17: danger: argument 1 (‘*<unknown>’) from [(8)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/7) could be NULL where non-null expected
#  165|                   }
#  166|   
#  167|->                 execvp (args[0], args);
#  168|                   ply_trace ("could not run command: %m");
#  169|                   _exit (127);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def72]
plymouth-24.004.60/src/client/plymouth.c:168:17: warning[-Wanalyzer-malloc-leak]: leak of ‘split_string(command, 32)’
plymouth-24.004.60/src/client/plymouth.c:132:1: enter_function: entry to ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:156:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:159:12: branch_true: following ‘true’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/client/plymouth.c:161:24: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:161:24: call_function: calling ‘split_string’ from ‘answer_via_command’
plymouth-24.004.60/src/client/plymouth.c:161:24: return_function: returning to ‘answer_via_command’ from ‘split_string’
plymouth-24.004.60/src/client/plymouth.c:162:20: branch_false: following ‘false’ branch (when ‘answer’ is NULL)...
plymouth-24.004.60/src/client/plymouth.c:167:17: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:168:17: danger: ‘split_string(command, 32)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/7)
#  166|   
#  167|                   execvp (args[0], args);
#  168|->                 ply_trace ("could not run command: %m");
#  169|                   _exit (127);
#  170|           }

Error: COMPILER_WARNING (CWE-252): [#def73]
plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_password_answer’
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): [#def74]
plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_question_answer’
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): [#def75]
plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_key_answer’
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-401): [#def76]
plymouth-24.004.60/src/client/plymouth.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘password_answer_state’
plymouth-24.004.60/src/client/plymouth.c:452:1: enter_function: entry to ‘on_password_request’
plymouth-24.004.60/src/client/plymouth.c:478:33: acquire_memory: allocated here
plymouth-24.004.60/src/client/plymouth.c:484:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/plymouth.c:492:17: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:492:17: call_function: calling ‘on_password_request_execute’ from ‘on_password_request’
#  430|                                ply_boot_client_t       *client)
#  431|   {
#  432|->         ply_trace ("executing password request (command %s)",
#  433|                      password_answer_state->command);
#  434|   

Error: CPPCHECK_WARNING (CWE-476): [#def77]
plymouth-24.004.60/src/client/plymouth.c:479: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def78]
plymouth-24.004.60/src/client/plymouth.c:479:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘password_answer_state’
plymouth-24.004.60/src/client/plymouth.c:478:33: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/plymouth.c:479:9: danger: ‘password_answer_state’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def79]
plymouth-24.004.60/src/client/plymouth.c:480: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: password_answer_state
#  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;
#  482|           password_answer_state->number_of_tries_left = number_of_tries;

Error: CPPCHECK_WARNING (CWE-476): [#def80]
plymouth-24.004.60/src/client/plymouth.c:481: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: password_answer_state
#  479|           password_answer_state->state = state;
#  480|           password_answer_state->command = program;
#  481|->         password_answer_state->prompt = prompt;
#  482|           password_answer_state->number_of_tries_left = number_of_tries;
#  483|           password_answer_state->pause = !dont_pause;

Error: CPPCHECK_WARNING (CWE-476): [#def81]
plymouth-24.004.60/src/client/plymouth.c:482: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: password_answer_state
#  480|           password_answer_state->command = program;
#  481|           password_answer_state->prompt = prompt;
#  482|->         password_answer_state->number_of_tries_left = number_of_tries;
#  483|           password_answer_state->pause = !dont_pause;
#  484|           if (password_answer_state->pause) {

Error: CPPCHECK_WARNING (CWE-476): [#def82]
plymouth-24.004.60/src/client/plymouth.c:483: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: password_answer_state
#  481|           password_answer_state->prompt = prompt;
#  482|           password_answer_state->number_of_tries_left = number_of_tries;
#  483|->         password_answer_state->pause = !dont_pause;
#  484|           if (password_answer_state->pause) {
#  485|                   ply_boot_client_tell_daemon_to_progress_pause (state->client,

Error: CPPCHECK_WARNING (CWE-476): [#def83]
plymouth-24.004.60/src/client/plymouth.c:484: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: password_answer_state
#  482|           password_answer_state->number_of_tries_left = number_of_tries;
#  483|           password_answer_state->pause = !dont_pause;
#  484|->         if (password_answer_state->pause) {
#  485|                   ply_boot_client_tell_daemon_to_progress_pause (state->client,
#  486|                                                                  (ply_boot_client_response_handler_t)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
plymouth-24.004.60/src/client/plymouth.c:485:17: warning[-Wanalyzer-malloc-leak]: leak of ‘password_answer_state’
plymouth-24.004.60/src/client/plymouth.c:478:33: acquire_memory: allocated here
plymouth-24.004.60/src/client/plymouth.c:484:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:485:17: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:485:17: danger: ‘password_answer_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  483|           password_answer_state->pause = !dont_pause;
#  484|           if (password_answer_state->pause) {
#  485|->                 ply_boot_client_tell_daemon_to_progress_pause (state->client,
#  486|                                                                  (ply_boot_client_response_handler_t)
#  487|                                                                  on_password_request_execute,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def85]
plymouth-24.004.60/src/client/plymouth.c:500:9: warning[-Wanalyzer-malloc-leak]: leak of ‘question_answer_state’
plymouth-24.004.60/src/client/plymouth.c:511:1: enter_function: entry to ‘on_question_request’
plymouth-24.004.60/src/client/plymouth.c:530:33: acquire_memory: allocated here
plymouth-24.004.60/src/client/plymouth.c:535:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/client/plymouth.c:543:17: branch_false: ...to here
plymouth-24.004.60/src/client/plymouth.c:543:17: call_function: calling ‘on_question_request_execute’ from ‘on_question_request’
#  498|                                ply_boot_client_t       *client)
#  499|   {
#  500|->         ply_boot_client_ask_daemon_question (client,
#  501|                                                question_answer_state->prompt,
#  502|                                                (ply_boot_client_answer_handler_t)

Error: CPPCHECK_WARNING (CWE-476): [#def86]
plymouth-24.004.60/src/client/plymouth.c:531: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def87]
plymouth-24.004.60/src/client/plymouth.c:531:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘question_answer_state’
plymouth-24.004.60/src/client/plymouth.c:530:33: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/plymouth.c:531:9: danger: ‘question_answer_state’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def88]
plymouth-24.004.60/src/client/plymouth.c:532: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: question_answer_state
#  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;
#  534|           question_answer_state->pause = !dont_pause;

Error: CPPCHECK_WARNING (CWE-476): [#def89]
plymouth-24.004.60/src/client/plymouth.c:533: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: question_answer_state
#  531|           question_answer_state->state = state;
#  532|           question_answer_state->command = program;
#  533|->         question_answer_state->prompt = prompt;
#  534|           question_answer_state->pause = !dont_pause;
#  535|           if (question_answer_state->pause) {

Error: CPPCHECK_WARNING (CWE-476): [#def90]
plymouth-24.004.60/src/client/plymouth.c:534: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: question_answer_state
#  532|           question_answer_state->command = program;
#  533|           question_answer_state->prompt = prompt;
#  534|->         question_answer_state->pause = !dont_pause;
#  535|           if (question_answer_state->pause) {
#  536|                   ply_boot_client_tell_daemon_to_progress_pause (state->client,

Error: CPPCHECK_WARNING (CWE-476): [#def91]
plymouth-24.004.60/src/client/plymouth.c:535: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: question_answer_state
#  533|           question_answer_state->prompt = prompt;
#  534|           question_answer_state->pause = !dont_pause;
#  535|->         if (question_answer_state->pause) {
#  536|                   ply_boot_client_tell_daemon_to_progress_pause (state->client,
#  537|                                                                  (ply_boot_client_response_handler_t)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
plymouth-24.004.60/src/client/plymouth.c:536:17: warning[-Wanalyzer-malloc-leak]: leak of ‘question_answer_state’
plymouth-24.004.60/src/client/plymouth.c:530:33: acquire_memory: allocated here
plymouth-24.004.60/src/client/plymouth.c:535:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/client/plymouth.c:536:17: branch_true: ...to here
plymouth-24.004.60/src/client/plymouth.c:536:17: danger: ‘question_answer_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  534|           question_answer_state->pause = !dont_pause;
#  535|           if (question_answer_state->pause) {
#  536|->                 ply_boot_client_tell_daemon_to_progress_pause (state->client,
#  537|                                                                  (ply_boot_client_response_handler_t)
#  538|                                                                  on_question_request_execute,

Error: CPPCHECK_WARNING (CWE-476): [#def93]
plymouth-24.004.60/src/client/plymouth.c:609: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def94]
plymouth-24.004.60/src/client/plymouth.c:609:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘key_answer_state’
plymouth-24.004.60/src/client/plymouth.c:608:28: acquire_memory: this call could return NULL
plymouth-24.004.60/src/client/plymouth.c:609:9: danger: ‘key_answer_state’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def95]
plymouth-24.004.60/src/client/plymouth.c:610: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: key_answer_state
#  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;
#  612|           ply_boot_client_ask_daemon_to_watch_for_keystroke (state->client,

Error: CPPCHECK_WARNING (CWE-476): [#def96]
plymouth-24.004.60/src/client/plymouth.c:611: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: key_answer_state
#  609|           key_answer_state->state = state;
#  610|           key_answer_state->keys = keys;
#  611|->         key_answer_state->command = program;
#  612|           ply_boot_client_ask_daemon_to_watch_for_keystroke (state->client,
#  613|                                                              keys,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def97]
plymouth-24.004.60/src/client/plymouth.c:612:9: warning[-Wanalyzer-malloc-leak]: leak of ‘key_answer_state’
plymouth-24.004.60/src/client/plymouth.c:608:28: acquire_memory: allocated here
plymouth-24.004.60/src/client/plymouth.c:612:9: danger: ‘key_answer_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  610|           key_answer_state->keys = keys;
#  611|           key_answer_state->command = program;
#  612|->         ply_boot_client_ask_daemon_to_watch_for_keystroke (state->client,
#  613|                                                              keys,
#  614|                                                              (ply_boot_client_answer_handler_t)

Error: COMPILER_WARNING (CWE-252): [#def98]
plymouth-24.004.60/src/client/plymouth.c: scope_hint: In function ‘on_system_update_request’
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: CPPCHECK_WARNING (CWE-476): [#def99]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:97: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#   95|   
#   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);

Error: CPPCHECK_WARNING (CWE-476): [#def100]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#   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: GCC_ANALYZER_WARNING (CWE-476): [#def101]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘splash’
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:94:9: branch_true: following ‘true’ branch (when ‘theme_path’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98:9: danger: ‘splash’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   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: CPPCHECK_WARNING (CWE-476): [#def102]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#   97|           splash->loop = NULL;
#   98|           splash->theme_path = strdup (theme_path);
#   99|->         splash->plugin_dir = strdup (plugin_dir);
#  100|           splash->module_handle = NULL;
#  101|           splash->mode = PLY_BOOT_SPLASH_MODE_INVALID;

Error: CPPCHECK_WARNING (CWE-476): [#def103]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:100: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#   98|           splash->theme_path = strdup (theme_path);
#   99|           splash->plugin_dir = strdup (plugin_dir);
#  100|->         splash->module_handle = NULL;
#  101|           splash->mode = PLY_BOOT_SPLASH_MODE_INVALID;
#  102|   

Error: CPPCHECK_WARNING (CWE-476): [#def104]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:101: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#   99|           splash->plugin_dir = strdup (plugin_dir);
#  100|           splash->module_handle = NULL;
#  101|->         splash->mode = PLY_BOOT_SPLASH_MODE_INVALID;
#  102|   
#  103|           splash->boot_buffer = boot_buffer;

Error: CPPCHECK_WARNING (CWE-476): [#def105]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:103: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#  101|           splash->mode = PLY_BOOT_SPLASH_MODE_INVALID;
#  102|   
#  103|->         splash->boot_buffer = boot_buffer;
#  104|           splash->pixel_displays = ply_list_new ();
#  105|           splash->text_displays = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def106]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:104: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#  102|   
#  103|           splash->boot_buffer = boot_buffer;
#  104|->         splash->pixel_displays = ply_list_new ();
#  105|           splash->text_displays = ply_list_new ();
#  106|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def107]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:104:34: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:94:9: branch_true: following ‘true’ branch (when ‘theme_path’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:104:34: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  102|   
#  103|           splash->boot_buffer = boot_buffer;
#  104|->         splash->pixel_displays = ply_list_new ();
#  105|           splash->text_displays = ply_list_new ();
#  106|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def108]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:104:34: warning[-Wanalyzer-malloc-leak]: leak of ‘splash’
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:94:9: branch_true: following ‘true’ branch (when ‘theme_path’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:104:34: danger: ‘splash’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  102|   
#  103|           splash->boot_buffer = boot_buffer;
#  104|->         splash->pixel_displays = ply_list_new ();
#  105|           splash->text_displays = ply_list_new ();
#  106|   

Error: CPPCHECK_WARNING (CWE-476): [#def109]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:105: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: splash
#  103|           splash->boot_buffer = boot_buffer;
#  104|           splash->pixel_displays = ply_list_new ();
#  105|->         splash->text_displays = ply_list_new ();
#  106|   
#  107|           return splash;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def110]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:105:33: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:94:9: branch_true: following ‘true’ branch (when ‘theme_path’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:98:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:105:33: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  103|           splash->boot_buffer = boot_buffer;
#  104|           splash->pixel_displays = ply_list_new ();
#  105|->         splash->text_displays = ply_list_new ();
#  106|   
#  107|           return splash;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def111]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:105:33: warning[-Wanalyzer-malloc-leak]: leak of ‘splash’
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:94:9: branch_true: following ‘true’ branch (when ‘theme_path’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:96:18: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c:105:33: danger: ‘splash’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  103|           splash->boot_buffer = boot_buffer;
#  104|           splash->pixel_displays = ply_list_new ();
#  105|->         splash->text_displays = ply_list_new ();
#  106|   
#  107|           return splash;

Error: COMPILER_WARNING (CWE-252): [#def112]
plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: scope_hint: In function ‘ply_boot_splash_load’
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): [#def113]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘device_name’ where non-null expected
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:937:1: enter_function: entry to ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:967:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:974:44: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:976:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:984:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:985:27: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: call_function: calling ‘get_terminal’ from ‘add_consoles_from_file’
#  739|           ply_terminal_t *terminal;
#  740|   
#  741|->         if (strncmp (device_name, "/dev/", strlen ("/dev/")) == 0)
#  742|                   full_name = strdup (device_name);
#  743|           else

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

Error: CPPCHECK_WARNING (CWE-476): [#def115]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: full_name
#  744|                   asprintf (&full_name, "/dev/%s", device_name);
#  745|   
#  746|->         if (strcmp (full_name, "/dev/tty0") == 0 ||
#  747|               strcmp (full_name, "/dev/tty") == 0 ||
#  748|               strcmp (full_name, ply_terminal_get_name (manager->local_console_terminal)) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def116]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘full_name’ where non-null expected
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:13: danger: argument 1 (‘full_name’) from [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2) could be NULL where non-null expected
#  744|                   asprintf (&full_name, "/dev/%s", device_name);
#  745|   
#  746|->         if (strcmp (full_name, "/dev/tty0") == 0 ||
#  747|               strcmp (full_name, "/dev/tty") == 0 ||
#  748|               strcmp (full_name, ply_terminal_get_name (manager->local_console_terminal)) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def117]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:748:13: warning[-Wanalyzer-malloc-leak]: leak of ‘console’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:937:1: enter_function: entry to ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:967:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:974:44: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:976:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:984:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:985:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: call_function: calling ‘get_terminal’ from ‘add_consoles_from_file’
#  746|           if (strcmp (full_name, "/dev/tty0") == 0 ||
#  747|               strcmp (full_name, "/dev/tty") == 0 ||
#  748|->             strcmp (full_name, ply_terminal_get_name (manager->local_console_terminal)) == 0) {
#  749|                   terminal = manager->local_console_terminal;
#  750|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:748:13: warning[-Wanalyzer-malloc-leak]: leak of ‘full_name’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:12: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:747:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:13: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:748:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:748:13: danger: ‘full_name’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  746|           if (strcmp (full_name, "/dev/tty0") == 0 ||
#  747|               strcmp (full_name, "/dev/tty") == 0 ||
#  748|->             strcmp (full_name, ply_terminal_get_name (manager->local_console_terminal)) == 0) {
#  749|                   terminal = manager->local_console_terminal;
#  750|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:751:17: warning[-Wanalyzer-malloc-leak]: leak of ‘console’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:937:1: enter_function: entry to ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:967:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:974:44: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:976:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:984:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:985:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: call_function: calling ‘get_terminal’ from ‘add_consoles_from_file’
#  749|                   terminal = manager->local_console_terminal;
#  750|   
#  751|->                 ply_hashtable_insert (manager->terminals,
#  752|                                         (void *) ply_terminal_get_name (terminal),
#  753|                                         terminal);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def120]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:751:17: warning[-Wanalyzer-malloc-leak]: leak of ‘full_name’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:751:17: danger: ‘full_name’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  749|                   terminal = manager->local_console_terminal;
#  750|   
#  751|->                 ply_hashtable_insert (manager->terminals,
#  752|                                         (void *) ply_terminal_get_name (terminal),
#  753|                                         terminal);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:752:48: warning[-Wanalyzer-malloc-leak]: leak of ‘console’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:937:1: enter_function: entry to ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:967:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:974:44: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:976:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:984:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:985:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: call_function: calling ‘get_terminal’ from ‘add_consoles_from_file’
#  750|   
#  751|                   ply_hashtable_insert (manager->terminals,
#  752|->                                       (void *) ply_terminal_get_name (terminal),
#  753|                                         terminal);
#  754|                   goto done;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:752:48: warning[-Wanalyzer-malloc-leak]: leak of ‘full_name’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:752:48: danger: ‘full_name’ leaks here; was allocated at [(3)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/2)
#  750|   
#  751|                   ply_hashtable_insert (manager->terminals,
#  752|->                                       (void *) ply_terminal_get_name (terminal),
#  753|                                         terminal);
#  754|                   goto done;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:757:20: warning[-Wanalyzer-malloc-leak]: leak of ‘full_name’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:741:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:742:29: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:12: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:747:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:13: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:748:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:746:13: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:757:20: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:757:20: danger: ‘full_name’ leaks here; was allocated at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#  755|           }
#  756|   
#  757|->         terminal = ply_hashtable_lookup (manager->terminals, full_name);
#  758|   
#  759|           if (terminal == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def124]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:807:18: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  805|           char *keymap = NULL, *xkb_layout = NULL, *xkb_model = NULL, *xkb_variant = NULL, *xkb_options = NULL;
#  806|   
#  807|->         keymap = ply_kernel_command_line_get_key_value ("rd.vconsole.keymap=");
#  808|   
#  809|           if (!keymap)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def125]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:810:26: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  808|   
#  809|           if (!keymap)
#  810|->                 keymap = ply_kernel_command_line_get_key_value ("vconsole.keymap=");
#  811|   
#  812|           vconsole_conf = ply_key_file_new ("/etc/vconsole.conf");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def126]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:812:25: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  810|                   keymap = ply_kernel_command_line_get_key_value ("vconsole.keymap=");
#  811|   
#  812|->         vconsole_conf = ply_key_file_new ("/etc/vconsole.conf");
#  813|           if (ply_key_file_load_groupless_file (vconsole_conf)) {
#  814|                   /* The values in vconsole.conf might be quoted, strip these */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def127]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:813:13: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  811|   
#  812|           vconsole_conf = ply_key_file_new ("/etc/vconsole.conf");
#  813|->         if (ply_key_file_load_groupless_file (vconsole_conf)) {
#  814|                   /* The values in vconsole.conf might be quoted, strip these */
#  815|                   if (!keymap) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def128]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:816:34: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  814|                   /* The values in vconsole.conf might be quoted, strip these */
#  815|                   if (!keymap) {
#  816|->                         keymap = ply_key_file_get_value (vconsole_conf, NULL, "KEYMAP");
#  817|                           keymap = strip_quotes (keymap);
#  818|                   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def129]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:819:30: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:802:1: enter_function: entry to ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:813:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:815:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:815:20: branch_true: following ‘true’ branch (when ‘keymap’ is NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:816:34: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:817:34: call_function: calling ‘strip_quotes’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:817:34: return_function: returning to ‘parse_vconsole_conf’ from ‘strip_quotes’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:819:30: danger: ‘keymap’ leaks here; was allocated at [(14)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/13)
#  817|                           keymap = strip_quotes (keymap);
#  818|                   }
#  819|->                 xkb_layout = ply_key_file_get_value (vconsole_conf, NULL, "XKBLAYOUT");
#  820|                   xkb_layout = strip_quotes (xkb_layout);
#  821|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def130]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:819:30: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  817|                           keymap = strip_quotes (keymap);
#  818|                   }
#  819|->                 xkb_layout = ply_key_file_get_value (vconsole_conf, NULL, "XKBLAYOUT");
#  820|                   xkb_layout = strip_quotes (xkb_layout);
#  821|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def131]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:822:29: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
#  820|                   xkb_layout = strip_quotes (xkb_layout);
#  821|   
#  822|->                 xkb_model = ply_key_file_get_value (vconsole_conf, NULL, "XKBMODEL");
#  823|                   xkb_model = strip_quotes (xkb_model);
#  824|   

Error: CPPCHECK_WARNING (CWE-476): [#def132]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:863: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: manager
#  861|   
#  862|           manager = calloc (1, sizeof(ply_device_manager_t));
#  863|->         manager->loop = NULL;
#  864|           manager->xkb_context = xkb_context_new (XKB_CONTEXT_NO_FLAGS);
#  865|   

Error: CPPCHECK_WARNING (CWE-476): [#def133]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:864: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: manager
#  862|           manager = calloc (1, sizeof(ply_device_manager_t));
#  863|           manager->loop = NULL;
#  864|->         manager->xkb_context = xkb_context_new (XKB_CONTEXT_NO_FLAGS);
#  865|   
#  866|           if (manager->xkb_context == NULL)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def134]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:864:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:864:9: danger: ‘manager’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  862|           manager = calloc (1, sizeof(ply_device_manager_t));
#  863|           manager->loop = NULL;
#  864|->         manager->xkb_context = xkb_context_new (XKB_CONTEXT_NO_FLAGS);
#  865|   
#  866|           if (manager->xkb_context == NULL)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def135]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:864:32: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:864:32: danger: ‘manager’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  862|           manager = calloc (1, sizeof(ply_device_manager_t));
#  863|           manager->loop = NULL;
#  864|->         manager->xkb_context = xkb_context_new (XKB_CONTEXT_NO_FLAGS);
#  865|   
#  866|           if (manager->xkb_context == NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def136]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:866: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: manager
#  864|           manager->xkb_context = xkb_context_new (XKB_CONTEXT_NO_FLAGS);
#  865|   
#  866|->         if (manager->xkb_context == NULL)
#  867|                   ply_trace ("Could not allocate xkb context: %m");
#  868|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def137]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:867:17: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:866:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:867:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:867:17: danger: ‘manager’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  865|   
#  866|           if (manager->xkb_context == NULL)
#  867|->                 ply_trace ("Could not allocate xkb context: %m");
#  868|   
#  869|           parse_vconsole_conf (manager);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def138]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:871:30: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:871:30: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/1)
#  869|           parse_vconsole_conf (manager);
#  870|   
#  871|->         manager->terminals = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  872|           manager->renderers = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  873|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def139]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:872:30: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:872:30: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/1)
#  870|   
#  871|           manager->terminals = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  872|->         manager->renderers = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  873|   
#  874|           manager->local_console_terminal = ply_terminal_new (default_tty, manager->keymap);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def140]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:874:43: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:874:43: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/1)
#  872|           manager->renderers = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  873|   
#  874|->         manager->local_console_terminal = ply_terminal_new (default_tty, manager->keymap);
#  875|           ply_terminal_open (manager->local_console_terminal);
#  876|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def141]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:875:9: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:875:9: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/1)
#  873|   
#  874|           manager->local_console_terminal = ply_terminal_new (default_tty, manager->keymap);
#  875|->         ply_terminal_open (manager->local_console_terminal);
#  876|   
#  877|           manager->input_devices = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def142]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:877:34: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:877:34: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/1)
#  875|           ply_terminal_open (manager->local_console_terminal);
#  876|   
#  877|->         manager->input_devices = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  878|           manager->keyboards = ply_list_new ();
#  879|           manager->text_displays = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def143]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:878:30: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:878:30: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/1)
#  876|   
#  877|           manager->input_devices = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  878|->         manager->keyboards = ply_list_new ();
#  879|           manager->text_displays = ply_list_new ();
#  880|           manager->pixel_displays = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def144]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:879:34: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:879:34: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/1)
#  877|           manager->input_devices = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  878|           manager->keyboards = ply_list_new ();
#  879|->         manager->text_displays = ply_list_new ();
#  880|           manager->pixel_displays = ply_list_new ();
#  881|           manager->flags = flags;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def145]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:880:35: warning[-Wanalyzer-malloc-leak]: leak of ‘manager’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:857:1: enter_function: entry to ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:862:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: call_function: calling ‘parse_vconsole_conf’ from ‘ply_device_manager_new’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:869:9: return_function: returning to ‘ply_device_manager_new’ from ‘parse_vconsole_conf’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:880:35: danger: ‘manager’ leaks here; was allocated at [(2)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/1)
#  878|           manager->keyboards = ply_list_new ();
#  879|           manager->text_displays = ply_list_new ();
#  880|->         manager->pixel_displays = ply_list_new ();
#  881|           manager->flags = flags;
#  882|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def146]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:947:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/0)
#  952|           }
#  953|   
#  954|->         ply_trace ("reading file");
#  955|           contents_length = read (fd, contents, sizeof(contents) - 1);
#  956|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def147]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:958:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:947:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:958:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:958:17: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/0)
#  956|   
#  957|           if (contents_length <= 0) {
#  958|->                 ply_trace ("couldn't read it: %m");
#  959|                   close (fd);
#  960|                   return false;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def148]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:959:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:947:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:958:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:959:17: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/0)
#  957|           if (contents_length <= 0) {
#  958|                   ply_trace ("couldn't read it: %m");
#  959|->                 close (fd);
#  960|                   return false;
#  961|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def149]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:947:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/0)
#  960|                   return false;
#  961|           }
#  962|->         close (fd);
#  963|   
#  964|           remaining_file_contents = contents;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def150]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:988:34: warning[-Wanalyzer-malloc-leak]: leak of ‘console’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:937:1: enter_function: entry to ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:949:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:954:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:957:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:962:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:967:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:974:44: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:976:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:984:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:985:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: call_function: calling ‘get_terminal’ from ‘add_consoles_from_file’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:987:28: return_function: returning to ‘add_consoles_from_file’ from ‘get_terminal’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:988:34: danger: ‘console’ leaks here; was allocated at [(10)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/9)
#  986|   
#  987|                   terminal = get_terminal (manager, console);
#  988|->                 console_device = ply_terminal_get_name (terminal);
#  989|   
#  990|                   free (console);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1154:17: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(ply_renderer_get_device_name(renderer))’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1076:1: enter_function: entry to ‘create_devices_for_terminal_and_renderer_type’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1112:12: branch_true: following ‘true’ branch (when ‘renderer_type != -1’)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1114:30: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1120:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1133:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1142:25: call_function: inlined call to ‘add_input_devices_to_renderer’ from ‘create_devices_for_terminal_and_renderer_type’
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1146:12: branch_true: following ‘true’ branch (when ‘renderer’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1147:28: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1153:59: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-device-manager.c:1154:17: danger: ‘strdup(ply_renderer_get_device_name(renderer))’ leaks here; was allocated at [(11)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/10)
# 1152|   
# 1153|                   ply_hashtable_insert (manager->renderers, strdup (ply_renderer_get_device_name (renderer)), renderer);
# 1154|->                 create_pixel_displays_for_renderer (manager, renderer);
# 1155|   
# 1156|                   if (manager->renderers_activated) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def152]
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’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:208:27: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:212:21: branch_false: ...to here
 branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:249:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:253:20: danger: use of uninitialized value ‘key_state’ here
#  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): [#def153]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c: scope_hint: In function ‘on_input’
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/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): [#def154]
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/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-401): [#def155]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: warning[-Wanalyzer-malloc-leak]: leak of ‘input_device’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:312:44: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:314:12: branch_false: following ‘false’ branch (when ‘input_device’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: danger: ‘input_device’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  317|           }
#  318|   
#  319|->         input_device->disconnect_trigger = ply_trigger_new (NULL);
#  320|           input_device->path = strdup (path);
#  321|           input_device->input_trigger = ply_trigger_new (NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def156]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:321:39: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:314:12: branch_false: following ‘false’ branch (when ‘input_device’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:320:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:321:39: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  319|           input_device->disconnect_trigger = ply_trigger_new (NULL);
#  320|           input_device->path = strdup (path);
#  321|->         input_device->input_trigger = ply_trigger_new (NULL);
#  322|           ply_trigger_set_instance (input_device->input_trigger, input_device);
#  323|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def157]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:321:39: warning[-Wanalyzer-malloc-leak]: leak of ‘input_device’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:312:44: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:314:12: branch_false: following ‘false’ branch (when ‘input_device’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:321:39: danger: ‘input_device’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  319|           input_device->disconnect_trigger = ply_trigger_new (NULL);
#  320|           input_device->path = strdup (path);
#  321|->         input_device->input_trigger = ply_trigger_new (NULL);
#  322|           ply_trigger_set_instance (input_device->input_trigger, input_device);
#  323|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def158]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:322:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:314:12: branch_false: following ‘false’ branch (when ‘input_device’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:320:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:322:9: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  320|           input_device->path = strdup (path);
#  321|           input_device->input_trigger = ply_trigger_new (NULL);
#  322|->         ply_trigger_set_instance (input_device->input_trigger, input_device);
#  323|   
#  324|           input_device->leds_changed_trigger = ply_trigger_new (NULL);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def159]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:322:9: warning[-Wanalyzer-malloc-leak]: leak of ‘input_device’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:312:44: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:314:12: branch_false: following ‘false’ branch (when ‘input_device’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:319:44: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:322:9: danger: ‘input_device’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  320|           input_device->path = strdup (path);
#  321|           input_device->input_trigger = ply_trigger_new (NULL);
#  322|->         ply_trigger_set_instance (input_device->input_trigger, input_device);
#  323|   
#  324|           input_device->leds_changed_trigger = ply_trigger_new (NULL);

Error: CPPCHECK_WARNING (CWE-476): [#def160]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def161]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xkb_state’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:479:47: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481:9: danger: ‘xkb_state’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def162]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481:37: warning[-Wanalyzer-malloc-leak]: leak of ‘xkb_state’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:479:47: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:481:37: danger: ‘xkb_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  479|           ply_xkb_keyboard_state_t *xkb_state = calloc (1, sizeof(ply_xkb_keyboard_state_t));
#  480|   
#  481|->         xkb_state->mods_depressed = xkb_state_serialize_mods (input_device->keyboard_state,
#  482|                                                                 XKB_STATE_DEPRESSED);
#  483|           xkb_state->mods_latched = xkb_state_serialize_mods (input_device->keyboard_state,

Error: CPPCHECK_WARNING (CWE-476): [#def163]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:483: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: xkb_state
#  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,
#  484|                                                               XKB_STATE_LATCHED);
#  485|           xkb_state->mods_locked = xkb_state_serialize_mods (input_device->keyboard_state,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def164]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:483:35: warning[-Wanalyzer-malloc-leak]: leak of ‘xkb_state’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:479:47: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:483:35: danger: ‘xkb_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  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,
#  484|                                                               XKB_STATE_LATCHED);
#  485|           xkb_state->mods_locked = xkb_state_serialize_mods (input_device->keyboard_state,

Error: CPPCHECK_WARNING (CWE-476): [#def165]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:485: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: xkb_state
#  483|           xkb_state->mods_latched = xkb_state_serialize_mods (input_device->keyboard_state,
#  484|                                                               XKB_STATE_LATCHED);
#  485|->         xkb_state->mods_locked = xkb_state_serialize_mods (input_device->keyboard_state,
#  486|                                                              XKB_STATE_LOCKED);
#  487|           xkb_state->group = xkb_state_serialize_group (input_device->keyboard_state,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def166]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:485:34: warning[-Wanalyzer-malloc-leak]: leak of ‘xkb_state’
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:479:47: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:485:34: danger: ‘xkb_state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  483|           xkb_state->mods_latched = xkb_state_serialize_mods (input_device->keyboard_state,
#  484|                                                               XKB_STATE_LATCHED);
#  485|->         xkb_state->mods_locked = xkb_state_serialize_mods (input_device->keyboard_state,
#  486|                                                              XKB_STATE_LOCKED);
#  487|           xkb_state->group = xkb_state_serialize_group (input_device->keyboard_state,

Error: CPPCHECK_WARNING (CWE-476): [#def167]
plymouth-24.004.60/src/libply-splash-core/ply-input-device.c:487: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: xkb_state
#  485|           xkb_state->mods_locked = xkb_state_serialize_mods (input_device->keyboard_state,
#  486|                                                              XKB_STATE_LOCKED);
#  487|->         xkb_state->group = xkb_state_serialize_group (input_device->keyboard_state,
#  488|                                                         XKB_STATE_EFFECTIVE);
#  489|   

Error: CPPCHECK_WARNING (CWE-476): [#def168]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:113: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  111|   
#  112|           keyboard = calloc (1, sizeof(ply_keyboard_t));
#  113|->         keyboard->line_buffer = ply_buffer_new ();
#  114|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  115|           keyboard->backspace_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def169]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:114: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  112|           keyboard = calloc (1, sizeof(ply_keyboard_t));
#  113|           keyboard->line_buffer = ply_buffer_new ();
#  114|->         keyboard->keyboard_input_handler_list = ply_list_new ();
#  115|           keyboard->backspace_handler_list = ply_list_new ();
#  116|           keyboard->escape_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def170]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:115: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  113|           keyboard->line_buffer = ply_buffer_new ();
#  114|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  115|->         keyboard->backspace_handler_list = ply_list_new ();
#  116|           keyboard->escape_handler_list = ply_list_new ();
#  117|           keyboard->enter_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def171]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:116: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  114|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  115|           keyboard->backspace_handler_list = ply_list_new ();
#  116|->         keyboard->escape_handler_list = ply_list_new ();
#  117|           keyboard->enter_handler_list = ply_list_new ();
#  118|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;

Error: CPPCHECK_WARNING (CWE-476): [#def172]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:117: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  115|           keyboard->backspace_handler_list = ply_list_new ();
#  116|           keyboard->escape_handler_list = ply_list_new ();
#  117|->         keyboard->enter_handler_list = ply_list_new ();
#  118|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;
#  119|           keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));

Error: CPPCHECK_WARNING (CWE-476): [#def173]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:118: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  116|           keyboard->escape_handler_list = ply_list_new ();
#  117|           keyboard->enter_handler_list = ply_list_new ();
#  118|->         keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;
#  119|           keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));
#  120|           keyboard->provider.if_terminal->terminal = terminal;

Error: CPPCHECK_WARNING (CWE-476): [#def174]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:119: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  117|           keyboard->enter_handler_list = ply_list_new ();
#  118|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;
#  119|->         keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));
#  120|           keyboard->provider.if_terminal->terminal = terminal;
#  121|           keyboard->provider.if_terminal->key_buffer = ply_buffer_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def175]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  118|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;
#  119|           keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));
#  120|->         keyboard->provider.if_terminal->terminal = terminal;
#  121|           keyboard->provider.if_terminal->key_buffer = ply_buffer_new ();
#  122|   

Error: CPPCHECK_WARNING (CWE-476): [#def176]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard->provider.if_terminal
#  118|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_TERMINAL;
#  119|           keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));
#  120|->         keyboard->provider.if_terminal->terminal = terminal;
#  121|           keyboard->provider.if_terminal->key_buffer = ply_buffer_new ();
#  122|   

Error: CPPCHECK_WARNING (CWE-476): [#def177]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:121: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  119|           keyboard->provider.if_terminal = calloc (1, sizeof(ply_keyboard_terminal_provider_t));
#  120|           keyboard->provider.if_terminal->terminal = terminal;
#  121|->         keyboard->provider.if_terminal->key_buffer = ply_buffer_new ();
#  122|   
#  123|           keyboard->loop = ply_event_loop_get_default ();

Error: CPPCHECK_WARNING (CWE-476): [#def178]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:123: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  121|           keyboard->provider.if_terminal->key_buffer = ply_buffer_new ();
#  122|   
#  123|->         keyboard->loop = ply_event_loop_get_default ();
#  124|   
#  125|           return keyboard;

Error: CPPCHECK_WARNING (CWE-476): [#def179]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:135: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  133|   
#  134|           keyboard = calloc (1, sizeof(ply_keyboard_t));
#  135|->         keyboard->line_buffer = ply_buffer_new ();
#  136|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  137|           keyboard->backspace_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def180]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:136: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  134|           keyboard = calloc (1, sizeof(ply_keyboard_t));
#  135|           keyboard->line_buffer = ply_buffer_new ();
#  136|->         keyboard->keyboard_input_handler_list = ply_list_new ();
#  137|           keyboard->backspace_handler_list = ply_list_new ();
#  138|           keyboard->escape_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def181]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:137: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  135|           keyboard->line_buffer = ply_buffer_new ();
#  136|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  137|->         keyboard->backspace_handler_list = ply_list_new ();
#  138|           keyboard->escape_handler_list = ply_list_new ();
#  139|           keyboard->enter_handler_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def182]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  136|           keyboard->keyboard_input_handler_list = ply_list_new ();
#  137|           keyboard->backspace_handler_list = ply_list_new ();
#  138|->         keyboard->escape_handler_list = ply_list_new ();
#  139|           keyboard->enter_handler_list = ply_list_new ();
#  140|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;

Error: CPPCHECK_WARNING (CWE-476): [#def183]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  137|           keyboard->backspace_handler_list = ply_list_new ();
#  138|           keyboard->escape_handler_list = ply_list_new ();
#  139|->         keyboard->enter_handler_list = ply_list_new ();
#  140|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;
#  141|           keyboard->provider.if_renderer = calloc (1, sizeof(ply_keyboard_renderer_provider_t));

Error: CPPCHECK_WARNING (CWE-476): [#def184]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  138|           keyboard->escape_handler_list = ply_list_new ();
#  139|           keyboard->enter_handler_list = ply_list_new ();
#  140|->         keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;
#  141|           keyboard->provider.if_renderer = calloc (1, sizeof(ply_keyboard_renderer_provider_t));
#  142|           keyboard->provider.if_renderer->renderer = renderer;

Error: CPPCHECK_WARNING (CWE-476): [#def185]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  139|           keyboard->enter_handler_list = ply_list_new ();
#  140|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;
#  141|->         keyboard->provider.if_renderer = calloc (1, sizeof(ply_keyboard_renderer_provider_t));
#  142|           keyboard->provider.if_renderer->renderer = renderer;
#  143|   

Error: CPPCHECK_WARNING (CWE-476): [#def186]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:142: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  140|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;
#  141|           keyboard->provider.if_renderer = calloc (1, sizeof(ply_keyboard_renderer_provider_t));
#  142|->         keyboard->provider.if_renderer->renderer = renderer;
#  143|   
#  144|           input_source = ply_renderer_get_input_source (renderer);

Error: CPPCHECK_WARNING (CWE-476): [#def187]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:142: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard->provider.if_renderer
#  140|           keyboard->provider_type = PLY_KEYBOARD_PROVIDER_TYPE_RENDERER;
#  141|           keyboard->provider.if_renderer = calloc (1, sizeof(ply_keyboard_renderer_provider_t));
#  142|->         keyboard->provider.if_renderer->renderer = renderer;
#  143|   
#  144|           input_source = ply_renderer_get_input_source (renderer);

Error: CPPCHECK_WARNING (CWE-476): [#def188]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:146: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  144|           input_source = ply_renderer_get_input_source (renderer);
#  145|   
#  146|->         keyboard->provider.if_renderer->input_source = input_source;
#  147|   
#  148|           keyboard->loop = ply_event_loop_get_default ();

Error: CPPCHECK_WARNING (CWE-476): [#def189]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:148: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keyboard
#  146|           keyboard->provider.if_renderer->input_source = input_source;
#  147|   
#  148|->         keyboard->loop = ply_event_loop_get_default ();
#  149|   
#  150|           return keyboard;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def190]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:192:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘keyboard_input’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:413:1: enter_function: entry to ‘on_terminal_data’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:423:9: call_function: calling ‘on_key_event’ from ‘on_terminal_data’
#  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-401): [#def191]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:352:25: warning[-Wanalyzer-malloc-leak]: leak of ‘keyboard_input’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:413:1: enter_function: entry to ‘on_terminal_data’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:423:9: call_function: calling ‘on_key_event’ from ‘on_terminal_data’
#  350|   
#  351|                   if (debug_key_events)
#  352|->                         ply_trace ("Processing input '%s'", keyboard_input);
#  353|   
#  354|                   process_keyboard_input (keyboard, keyboard_input, character_size);

Error: CPPCHECK_WARNING (CWE-476): [#def192]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:528: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  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): [#def193]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:528:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:608:1: enter_function: entry to ‘ply_keyboard_add_escape_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:614:9: branch_true: following ‘true’ branch (when ‘keyboard’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:616:19: call_function: inlined call to ‘ply_keyboard_closure_new’ from ‘ply_keyboard_add_escape_handler’
#  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: CPPCHECK_WARNING (CWE-476): [#def194]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:529: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  527|   
#  528|           closure->function = function;
#  529|->         closure->user_data = user_data;
#  530|           return closure;
#  531|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def195]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:551:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:541:1: enter_function: entry to ‘ply_keyboard_add_input_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:547:9: branch_true: following ‘true’ branch (when ‘keyboard’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:549:19: call_function: inlined call to ‘ply_keyboard_closure_new’ from ‘ply_keyboard_add_input_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:551:9: danger: ‘closure’ leaks here; was allocated at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#  549|           closure = ply_keyboard_closure_new ((ply_keyboard_handler_t) input_handler,
#  550|                                               user_data);
#  551|->         ply_list_append_data (keyboard->keyboard_input_handler_list, closure);
#  552|   }
#  553|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def196]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:584:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:574:1: enter_function: entry to ‘ply_keyboard_add_backspace_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:580:9: branch_true: following ‘true’ branch (when ‘keyboard’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:582:19: call_function: inlined call to ‘ply_keyboard_closure_new’ from ‘ply_keyboard_add_backspace_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:584:9: danger: ‘closure’ leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#  582|           closure = ply_keyboard_closure_new ((ply_keyboard_handler_t) backspace_handler,
#  583|                                               user_data);
#  584|->         ply_list_append_data (keyboard->backspace_handler_list, closure);
#  585|   }
#  586|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def197]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:618:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:608:1: enter_function: entry to ‘ply_keyboard_add_escape_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:614:9: branch_true: following ‘true’ branch (when ‘keyboard’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:616:19: call_function: inlined call to ‘ply_keyboard_closure_new’ from ‘ply_keyboard_add_escape_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:618:9: danger: ‘closure’ leaks here; was allocated at [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
#  616|           closure = ply_keyboard_closure_new ((ply_keyboard_handler_t) escape_handler,
#  617|                                               user_data);
#  618|->         ply_list_append_data (keyboard->escape_handler_list, closure);
#  619|   }
#  620|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def198]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:653:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:642:1: enter_function: entry to ‘ply_keyboard_add_enter_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:648:9: branch_true: following ‘true’ branch (when ‘keyboard’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:650:19: call_function: inlined call to ‘ply_keyboard_closure_new’ from ‘ply_keyboard_add_enter_handler’
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:653:9: danger: ‘closure’ leaks here; was allocated at [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
#  651|                                               user_data);
#  652|   
#  653|->         ply_list_append_data (keyboard->enter_handler_list, closure);
#  654|   }
#  655|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def199]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:91:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘msgptr’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:78:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:87:26: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:91:21: danger: 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): [#def200]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c: scope_hint: In function ‘handle_kmsg_message’
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: CPPCHECK_WARNING (CWE-476): [#def201]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def202]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:138:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:67:1: enter_function: entry to ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:78:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:87:26: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: call_function: calling ‘unhexmangle_to_buffer’ from ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: return_function: returning to ‘handle_kmsg_message’ from ‘unhexmangle_to_buffer’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:112:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:115:20: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:135:24: branch_true: following ‘true’ branch (when ‘message_substr’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:138:25: danger: ‘kmsg_message’ could be NULL: unchecked value from [(14)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/13)
#  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: CPPCHECK_WARNING (CWE-476): [#def203]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: kmsg_message
#  137|   
#  138|                           kmsg_message->priority = priority;
#  139|->                         kmsg_message->facility = facility;
#  140|                           kmsg_message->sequence = sequence;
#  141|                           kmsg_message->timestamp = timestamp;

Error: CPPCHECK_WARNING (CWE-476): [#def204]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: kmsg_message
#  138|                           kmsg_message->priority = priority;
#  139|                           kmsg_message->facility = facility;
#  140|->                         kmsg_message->sequence = sequence;
#  141|                           kmsg_message->timestamp = timestamp;
#  142|   

Error: CPPCHECK_WARNING (CWE-476): [#def205]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: kmsg_message
#  139|                           kmsg_message->facility = facility;
#  140|                           kmsg_message->sequence = sequence;
#  141|->                         kmsg_message->timestamp = timestamp;
#  142|   
#  143|                           asprintf (&new_message, "%s%s%s", format_begin, message_substr, "\033[0m");

Error: COMPILER_WARNING (CWE-252): [#def206]
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: CPPCHECK_WARNING (CWE-476): [#def207]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:144: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: kmsg_message
#  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|   
#  146|                           ply_trigger_pull (kmsg_reader->kmsg_trigger, kmsg_message);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def208]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:146:25: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:67:1: enter_function: entry to ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:78:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:87:26: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: call_function: calling ‘unhexmangle_to_buffer’ from ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: return_function: returning to ‘handle_kmsg_message’ from ‘unhexmangle_to_buffer’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:112:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:115:20: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:135:24: branch_true: following ‘true’ branch (when ‘message_substr’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:144:49: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:146:25: danger: ‘<unknown>’ leaks here; was allocated at [(14)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/13)
#  144|                           kmsg_message->message = strndup (new_message, strlen (new_message));
#  145|   
#  146|->                         ply_trigger_pull (kmsg_reader->kmsg_trigger, kmsg_message);
#  147|                           ply_list_append_data (kmsg_reader->kmsg_messages, kmsg_message);
#  148|                           free (new_message);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def209]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:146:25: warning[-Wanalyzer-malloc-leak]: leak of ‘kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:67:1: enter_function: entry to ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:78:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:87:26: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: call_function: calling ‘unhexmangle_to_buffer’ from ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: return_function: returning to ‘handle_kmsg_message’ from ‘unhexmangle_to_buffer’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:112:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:115:20: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:135:24: branch_true: following ‘true’ branch (when ‘message_substr’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:146:25: danger: ‘kmsg_message’ leaks here; was allocated at [(14)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/13)
#  144|                           kmsg_message->message = strndup (new_message, strlen (new_message));
#  145|   
#  146|->                         ply_trigger_pull (kmsg_reader->kmsg_trigger, kmsg_message);
#  147|                           ply_list_append_data (kmsg_reader->kmsg_messages, kmsg_message);
#  148|                           free (new_message);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def210]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:147:25: warning[-Wanalyzer-malloc-leak]: leak of ‘kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:67:1: enter_function: entry to ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:78:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:87:26: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: call_function: calling ‘unhexmangle_to_buffer’ from ‘handle_kmsg_message’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:94:17: return_function: returning to ‘handle_kmsg_message’ from ‘unhexmangle_to_buffer’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:112:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:115:20: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:135:24: branch_true: following ‘true’ branch (when ‘message_substr’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:136:40: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:147:25: danger: ‘kmsg_message’ leaks here; was allocated at [(14)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/13)
#  145|   
#  146|                           ply_trigger_pull (kmsg_reader->kmsg_trigger, kmsg_message);
#  147|->                         ply_list_append_data (kmsg_reader->kmsg_messages, kmsg_message);
#  148|                           free (new_message);
#  149|   

Error: CPPCHECK_WARNING (CWE-476): [#def211]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def212]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘kmsg_reader’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:165:42: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166:9: danger: ‘kmsg_reader’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def213]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166:37: warning[-Wanalyzer-malloc-leak]: leak of ‘kmsg_reader’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:165:42: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:166:37: danger: ‘kmsg_reader’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  164|   {
#  165|           ply_kmsg_reader_t *kmsg_reader = calloc (1, sizeof(ply_kmsg_reader_t));
#  166|->         kmsg_reader->kmsg_trigger = ply_trigger_new (NULL);
#  167|           kmsg_reader->kmsg_messages = ply_list_new ();
#  168|   

Error: CPPCHECK_WARNING (CWE-476): [#def214]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:167: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: kmsg_reader
#  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|   
#  169|           return kmsg_reader;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def215]
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:167:38: warning[-Wanalyzer-malloc-leak]: leak of ‘kmsg_reader’
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:165:42: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-kmsg-reader.c:167:38: danger: ‘kmsg_reader’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  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|   
#  169|           return kmsg_reader;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def216]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:164:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*buffer.bytes + ((long unsigned int)y * *buffer.area.width + (long unsigned int)x) * 4’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: return_function: returning to ‘ply_pixel_buffer_rotate_upright’ from ‘ply_pixel_buffer_new’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1131:21: branch_true: following ‘true’ branch (when ‘y < height’)...
 branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1132:29: branch_true: following ‘true’ branch (when ‘x < width’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1133:33: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1134:25: call_function: calling ‘ply_pixel_buffer_set_pixel’ from ‘ply_pixel_buffer_rotate_upright’
#  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: CPPCHECK_WARNING (CWE-476): [#def217]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:341: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def218]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:341:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_clip_area’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1096:1: enter_function: entry to ‘ply_pixel_buffer_set_device_rotation’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1099:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1102:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1116:9: call_function: calling ‘ply_pixel_buffer_push_clip_area’ from ‘ply_pixel_buffer_set_device_rotation’
#  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: CPPCHECK_WARNING (CWE-476): [#def219]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:344: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  342|           ply_pixel_buffer_adjust_area_for_device_scale (buffer, new_clip_area);
#  343|   
#  344|->         ply_list_append_data (buffer->clip_areas, new_clip_area);
#  345|   }
#  346|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def220]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:344:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  342|           ply_pixel_buffer_adjust_area_for_device_scale (buffer, new_clip_area);
#  343|   
#  344|->         ply_list_append_data (buffer->clip_areas, new_clip_area);
#  345|   }
#  346|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def221]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:344:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  342|           ply_pixel_buffer_adjust_area_for_device_scale (buffer, new_clip_area);
#  343|   
#  344|->         ply_list_append_data (buffer->clip_areas, new_clip_area);
#  345|   }
#  346|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def222]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:344:9: warning[-Wanalyzer-malloc-leak]: leak of ‘new_clip_area’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1096:1: enter_function: entry to ‘ply_pixel_buffer_set_device_rotation’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1099:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1102:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1116:9: call_function: calling ‘ply_pixel_buffer_push_clip_area’ from ‘ply_pixel_buffer_set_device_rotation’
#  342|           ply_pixel_buffer_adjust_area_for_device_scale (buffer, new_clip_area);
#  343|   
#  344|->         ply_list_append_data (buffer->clip_areas, new_clip_area);
#  345|   }
#  346|   

Error: CPPCHECK_WARNING (CWE-476): [#def223]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:381: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def224]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:381:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘buffer’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  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-401): [#def225]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:381:33: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  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: CPPCHECK_WARNING (CWE-476): [#def226]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:382: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  380|   
#  381|           buffer->updated_areas = ply_region_new ();
#  382|->         buffer->bytes = (uint32_t *) calloc (height, width * sizeof(uint32_t));
#  383|           buffer->area.width = width;
#  384|           buffer->area.height = height;

Error: CPPCHECK_WARNING (CWE-476): [#def227]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:383: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  381|           buffer->updated_areas = ply_region_new ();
#  382|           buffer->bytes = (uint32_t *) calloc (height, width * sizeof(uint32_t));
#  383|->         buffer->area.width = width;
#  384|           buffer->area.height = height;
#  385|           buffer->logical_area = buffer->area;

Error: CPPCHECK_WARNING (CWE-476): [#def228]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:384: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  382|           buffer->bytes = (uint32_t *) calloc (height, width * sizeof(uint32_t));
#  383|           buffer->area.width = width;
#  384|->         buffer->area.height = height;
#  385|           buffer->logical_area = buffer->area;
#  386|           buffer->device_scale = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def229]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:385: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  383|           buffer->area.width = width;
#  384|           buffer->area.height = height;
#  385|->         buffer->logical_area = buffer->area;
#  386|           buffer->device_scale = 1;
#  387|           buffer->device_rotation = device_rotation;

Error: CPPCHECK_WARNING (CWE-476): [#def230]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:386: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  384|           buffer->area.height = height;
#  385|           buffer->logical_area = buffer->area;
#  386|->         buffer->device_scale = 1;
#  387|           buffer->device_rotation = device_rotation;
#  388|   

Error: CPPCHECK_WARNING (CWE-476): [#def231]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:387: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  385|           buffer->logical_area = buffer->area;
#  386|           buffer->device_scale = 1;
#  387|->         buffer->device_rotation = device_rotation;
#  388|   
#  389|           buffer->clip_areas = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def232]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:389: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  387|           buffer->device_rotation = device_rotation;
#  388|   
#  389|->         buffer->clip_areas = ply_list_new ();
#  390|           ply_pixel_buffer_push_clip_area (buffer, &buffer->area);
#  391|           buffer->is_opaque = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def233]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:389:30: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  387|           buffer->device_rotation = device_rotation;
#  388|   
#  389|->         buffer->clip_areas = ply_list_new ();
#  390|           ply_pixel_buffer_push_clip_area (buffer, &buffer->area);
#  391|           buffer->is_opaque = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def234]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:389:30: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1120:1: enter_function: entry to ‘ply_pixel_buffer_rotate_upright’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1129:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate_upright’
#  387|           buffer->device_rotation = device_rotation;
#  388|   
#  389|->         buffer->clip_areas = ply_list_new ();
#  390|           ply_pixel_buffer_push_clip_area (buffer, &buffer->area);
#  391|           buffer->is_opaque = false;

Error: CPPCHECK_WARNING (CWE-476): [#def235]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:391: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  389|           buffer->clip_areas = ply_list_new ();
#  390|           ply_pixel_buffer_push_clip_area (buffer, &buffer->area);
#  391|->         buffer->is_opaque = false;
#  392|   
#  393|           return buffer;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def236]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:991:25: 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’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:966:1: enter_function: entry to ‘ply_pixel_buffer_resize’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:977:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_resize’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:977:18: return_function: returning to ‘ply_pixel_buffer_resize’ from ‘ply_pixel_buffer_new’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:987:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:988:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:989:29: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:990:33: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:992:33: call_function: calling ‘ply_pixel_buffer_interpolate’ from ‘ply_pixel_buffer_resize’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:992:33: return_function: returning to ‘ply_pixel_buffer_resize’ from ‘ply_pixel_buffer_interpolate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:991:25: danger: ‘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’ could be NULL: unchecked value from [(8)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/7)
#  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): [#def237]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1033:33: 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))’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:999:1: enter_function: entry to ‘ply_pixel_buffer_rotate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1014:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1014:18: return_function: returning to ‘ply_pixel_buffer_rotate’ from ‘ply_pixel_buffer_new’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1026:21: branch_true: following ‘true’ branch (when ‘y < height’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1029:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1031:29: branch_true: following ‘true’ branch (when ‘x < width’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1032:28: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1033:33: danger: ‘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’ could be NULL: unchecked value from [(8)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/7)
# 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): [#def238]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1035:33: 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’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:999:1: enter_function: entry to ‘ply_pixel_buffer_rotate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1014:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_rotate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1014:18: return_function: returning to ‘ply_pixel_buffer_rotate’ from ‘ply_pixel_buffer_new’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1026:21: branch_true: following ‘true’ branch (when ‘y < height’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1029:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1031:29: branch_true: following ‘true’ branch (when ‘x < width’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1032:28: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1032:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1036:41: call_function: calling ‘ply_pixel_buffer_interpolate’ from ‘ply_pixel_buffer_rotate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1036:41: return_function: returning to ‘ply_pixel_buffer_rotate’ from ‘ply_pixel_buffer_interpolate’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1035:33: danger: ‘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’ could be NULL: unchecked value from [(8)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/7)
# 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): [#def239]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1067:25: 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’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1045:1: enter_function: entry to ‘ply_pixel_buffer_tile’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1055:18: call_function: calling ‘ply_pixel_buffer_new’ from ‘ply_pixel_buffer_tile’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1055:18: return_function: returning to ‘ply_pixel_buffer_tile’ from ‘ply_pixel_buffer_new’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1063:21: branch_true: following ‘true’ branch (when ‘y < height’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1064:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1065:29: branch_true: following ‘true’ branch (when ‘x < width’)...
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1066:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-buffer.c:1067:25: danger: ‘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’ could be NULL: unchecked value from [(8)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/7)
# 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: CPPCHECK_WARNING (CWE-476): [#def240]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def241]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:69:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71:9: danger: ‘display’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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-401): [#def242]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71:25: warning[-Wanalyzer-malloc-leak]: leak of ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:69:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:71:25: danger: ‘display’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def243]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#   70|   
#   71|           display->loop = ply_event_loop_get_default ();
#   72|->         display->renderer = renderer;
#   73|           display->head = head;
#   74|   

Error: CPPCHECK_WARNING (CWE-476): [#def244]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#   71|           display->loop = ply_event_loop_get_default ();
#   72|           display->renderer = renderer;
#   73|->         display->head = head;
#   74|   
#   75|           pixel_buffer = ply_renderer_get_buffer_for_head (renderer, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def245]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:75:24: warning[-Wanalyzer-malloc-leak]: leak of ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:69:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:75:24: danger: ‘display’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   73|           display->head = head;
#   74|   
#   75|->         pixel_buffer = ply_renderer_get_buffer_for_head (renderer, head);
#   76|           ply_pixel_buffer_get_size (pixel_buffer, &size);
#   77|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def246]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:76:9: warning[-Wanalyzer-malloc-leak]: leak of ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:69:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:76:9: danger: ‘display’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   74|   
#   75|           pixel_buffer = ply_renderer_get_buffer_for_head (renderer, head);
#   76|->         ply_pixel_buffer_get_size (pixel_buffer, &size);
#   77|   
#   78|           display->width = size.width;

Error: CPPCHECK_WARNING (CWE-476): [#def247]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:78: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#   76|           ply_pixel_buffer_get_size (pixel_buffer, &size);
#   77|   
#   78|->         display->width = size.width;
#   79|           display->height = size.height;
#   80|           display->device_scale = ply_pixel_buffer_get_device_scale (pixel_buffer);

Error: CPPCHECK_WARNING (CWE-476): [#def248]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:79: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#   77|   
#   78|           display->width = size.width;
#   79|->         display->height = size.height;
#   80|           display->device_scale = ply_pixel_buffer_get_device_scale (pixel_buffer);
#   81|   

Error: CPPCHECK_WARNING (CWE-476): [#def249]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:80: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#   78|           display->width = size.width;
#   79|           display->height = size.height;
#   80|->         display->device_scale = ply_pixel_buffer_get_device_scale (pixel_buffer);
#   81|   
#   82|           return display;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def250]
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:80:33: warning[-Wanalyzer-malloc-leak]: leak of ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:69:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-pixel-display.c:80:33: danger: ‘display’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#   78|           display->width = size.width;
#   79|           display->height = size.height;
#   80|->         display->device_scale = ply_pixel_buffer_get_device_scale (pixel_buffer);
#   81|   
#   82|           return display;

Error: CPPCHECK_WARNING (CWE-476): [#def251]
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:76: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: renderer
#   74|           renderer = calloc (1, sizeof(struct _ply_renderer));
#   75|   
#   76|->         renderer->type = renderer_type;
#   77|   
#   78|           if (device_name != NULL)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def252]
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:76:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘renderer’
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:74:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:76:9: danger: ‘renderer’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   74|           renderer = calloc (1, sizeof(struct _ply_renderer));
#   75|   
#   76|->         renderer->type = renderer_type;
#   77|   
#   78|           if (device_name != NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def253]
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:81: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: renderer
#   79|                   renderer->device_name = strdup (device_name);
#   80|   
#   81|->         renderer->terminal = terminal;
#   82|           renderer->local_console_terminal = local_console_terminal;
#   83|   

Error: CPPCHECK_WARNING (CWE-476): [#def254]
plymouth-24.004.60/src/libply-splash-core/ply-renderer.c:82: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: renderer
#   80|   
#   81|           renderer->terminal = terminal;
#   82|->         renderer->local_console_terminal = local_console_terminal;
#   83|   
#   84|           return renderer;

Error: CPPCHECK_WARNING (CWE-476): [#def255]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:43: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: rich_text
#   41|   
#   42|           rich_text = calloc (1, sizeof(ply_rich_text_t));
#   43|->         rich_text->characters = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#   44|           rich_text->reference_count = 1;
#   45|   

Error: CPPCHECK_WARNING (CWE-476): [#def256]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:44: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: rich_text
#   42|           rich_text = calloc (1, sizeof(ply_rich_text_t));
#   43|           rich_text->characters = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#   44|->         rich_text->reference_count = 1;
#   45|   
#   46|           return rich_text;

Error: CPPCHECK_WARNING (CWE-476): [#def257]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:159: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: character
#  157|   {
#  158|           ply_rich_text_character_t *character = calloc (1, sizeof(ply_rich_text_character_t));
#  159|->         character->bytes = NULL;
#  160|           character->length = 0;
#  161|   

Error: CPPCHECK_WARNING (CWE-476): [#def258]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:160: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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-476): [#def259]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:160:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘character’
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:158:48: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:160:9: danger: ‘character’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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): [#def260]
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:267:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*character.bytes’
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:246:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:249:57: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:249:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:253:22: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:255:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:259:21: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:266:28: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-rich-text.c:267:9: danger: ‘*character.bytes’ leaks here; was allocated at [(7)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/6)
#  265|           characters[character_index] = character;
#  266|           character->bytes = strdup (character_string);
#  267|->         character->length = length;
#  268|           character->style = style;
#  269|   }

Error: CPPCHECK_WARNING (CWE-476): [#def261]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:151: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  149|           terminal_emulator = calloc (1, sizeof(struct _ply_terminal_emulator));
#  150|   
#  151|->         terminal_emulator->line_count = 1;
#  152|           terminal_emulator->number_of_rows = number_of_rows;
#  153|           terminal_emulator->number_of_columns = number_of_columns;

Error: CPPCHECK_WARNING (CWE-476): [#def262]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:152: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  150|   
#  151|           terminal_emulator->line_count = 1;
#  152|->         terminal_emulator->number_of_rows = number_of_rows;
#  153|           terminal_emulator->number_of_columns = number_of_columns;
#  154|           terminal_emulator->lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);

Error: CPPCHECK_WARNING (CWE-476): [#def263]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:153: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  151|           terminal_emulator->line_count = 1;
#  152|           terminal_emulator->number_of_rows = number_of_rows;
#  153|->         terminal_emulator->number_of_columns = number_of_columns;
#  154|           terminal_emulator->lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#  155|   

Error: CPPCHECK_WARNING (CWE-476): [#def264]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:154: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  152|           terminal_emulator->number_of_rows = number_of_rows;
#  153|           terminal_emulator->number_of_columns = number_of_columns;
#  154|->         terminal_emulator->lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#  155|   
#  156|           terminal_emulator->pending_character = ply_buffer_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def265]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:156: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  154|           terminal_emulator->lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#  155|   
#  156|->         terminal_emulator->pending_character = ply_buffer_new ();
#  157|           terminal_emulator->pending_character_state = PLY_TERMINAL_EMULATOR_UTF8_CHARACTER_PARSE_STATE_SINGLE_BYTE;
#  158|           terminal_emulator->pending_character_size = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def266]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:157: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  155|   
#  156|           terminal_emulator->pending_character = ply_buffer_new ();
#  157|->         terminal_emulator->pending_character_state = PLY_TERMINAL_EMULATOR_UTF8_CHARACTER_PARSE_STATE_SINGLE_BYTE;
#  158|           terminal_emulator->pending_character_size = 0;
#  159|   

Error: CPPCHECK_WARNING (CWE-476): [#def267]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:158: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  156|           terminal_emulator->pending_character = ply_buffer_new ();
#  157|           terminal_emulator->pending_character_state = PLY_TERMINAL_EMULATOR_UTF8_CHARACTER_PARSE_STATE_SINGLE_BYTE;
#  158|->         terminal_emulator->pending_character_size = 0;
#  159|   
#  160|           span.offset = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def268]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:161: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  159|   
#  160|           span.offset = 0;
#  161|->         span.range = terminal_emulator->number_of_columns;
#  162|   
#  163|           for (int i = 0; i < terminal_emulator->number_of_rows; i++) {

Error: CPPCHECK_WARNING (CWE-476): [#def269]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:163: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  161|           span.range = terminal_emulator->number_of_columns;
#  162|   
#  163|->         for (int i = 0; i < terminal_emulator->number_of_rows; i++) {
#  164|                   terminal_emulator_line = ply_rich_text_new ();
#  165|                   ply_rich_text_set_mutable_span (terminal_emulator_line, &span);

Error: CPPCHECK_WARNING (CWE-476): [#def270]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:166: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  164|                   terminal_emulator_line = ply_rich_text_new ();
#  165|                   ply_rich_text_set_mutable_span (terminal_emulator_line, &span);
#  166|->                 ply_array_add_pointer_element (terminal_emulator->lines, terminal_emulator_line);
#  167|           }
#  168|   

Error: CPPCHECK_WARNING (CWE-476): [#def271]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:169: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  167|           }
#  168|   
#  169|->         terminal_emulator->cursor_row_offset = 0;
#  170|   
#  171|           terminal_emulator->state = PLY_TERMINAL_EMULATOR_TERMINAL_STATE_UNESCAPED;

Error: CPPCHECK_WARNING (CWE-476): [#def272]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  169|           terminal_emulator->cursor_row_offset = 0;
#  170|   
#  171|->         terminal_emulator->state = PLY_TERMINAL_EMULATOR_TERMINAL_STATE_UNESCAPED;
#  172|   
#  173|           terminal_emulator->last_parameter_was_integer = false;

Error: CPPCHECK_WARNING (CWE-476): [#def273]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:173: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  171|           terminal_emulator->state = PLY_TERMINAL_EMULATOR_TERMINAL_STATE_UNESCAPED;
#  172|   
#  173|->         terminal_emulator->last_parameter_was_integer = false;
#  174|           terminal_emulator->pending_parameter_value = 0;
#  175|   

Error: CPPCHECK_WARNING (CWE-476): [#def274]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:174: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  172|   
#  173|           terminal_emulator->last_parameter_was_integer = false;
#  174|->         terminal_emulator->pending_parameter_value = 0;
#  175|   
#  176|           terminal_emulator->break_action = PLY_TERMINAL_EMULATOR_BREAK_STRING_ACTION_PRESERVE_CURSOR_COLUMN;

Error: CPPCHECK_WARNING (CWE-476): [#def275]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:176: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  174|           terminal_emulator->pending_parameter_value = 0;
#  175|   
#  176|->         terminal_emulator->break_action = PLY_TERMINAL_EMULATOR_BREAK_STRING_ACTION_PRESERVE_CURSOR_COLUMN;
#  177|           terminal_emulator->output_trigger = ply_trigger_new (NULL);
#  178|   

Error: CPPCHECK_WARNING (CWE-476): [#def276]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:177: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  175|   
#  176|           terminal_emulator->break_action = PLY_TERMINAL_EMULATOR_BREAK_STRING_ACTION_PRESERVE_CURSOR_COLUMN;
#  177|->         terminal_emulator->output_trigger = ply_trigger_new (NULL);
#  178|   
#  179|           terminal_emulator->pending_commands = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def277]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:179: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal_emulator
#  177|           terminal_emulator->output_trigger = ply_trigger_new (NULL);
#  178|   
#  179|->         terminal_emulator->pending_commands = ply_list_new ();
#  180|   
#  181|           ply_rich_text_character_style_initialize (&terminal_emulator->current_style);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def278]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1245:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_object’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1114:1: enter_function: entry to ‘ply_terminal_emulator_parse_substring’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1143:16: branch_true: following ‘true’ branch (when ‘i < number_of_bytes_to_parse’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1145:22: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1161:20: branch_false: following ‘false’ branch (when ‘break_string != 1’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1166:17: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1181:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1192:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1225:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1237:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1239:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1243:36: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1243:35: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1244:69: call_function: inlined call to ‘ply_terminal_emulator_command_new’ from ‘ply_terminal_emulator_parse_substring’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1245:33: danger: ‘command_object’ could be NULL: unchecked value from [(19)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/18)
# 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): [#def279]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1285:33: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_object’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1114:1: enter_function: entry to ‘ply_terminal_emulator_parse_substring’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1143:16: branch_true: following ‘true’ branch (when ‘i < number_of_bytes_to_parse’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1145:22: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1161:20: branch_false: following ‘false’ branch (when ‘break_string != 1’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1166:17: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1181:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1192:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1225:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1237:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1283:35: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1285:33: danger: ‘command_object’ could be NULL: unchecked value from [(17)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/16)
# 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-401): [#def280]
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1287:33: warning[-Wanalyzer-malloc-leak]: leak of ‘command_object’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1114:1: enter_function: entry to ‘ply_terminal_emulator_parse_substring’
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1143:16: branch_true: following ‘true’ branch (when ‘i < number_of_bytes_to_parse’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1145:22: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1161:20: branch_false: following ‘false’ branch (when ‘break_string != 1’)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1166:17: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1181:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1190:27: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1192:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1225:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1237:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1283:35: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal-emulator.c:1287:33: danger: ‘command_object’ leaks here; was allocated at [(17)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/16)
# 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);
# 1288|                           } else if (*input_bytes == ';' || (isdigit (*input_bytes))) {
# 1289|                                   if (isdigit (*input_bytes)) {

Error: CPPCHECK_WARNING (CWE-476): [#def281]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  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: GCC_ANALYZER_WARNING (CWE-476): [#def282]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘terminal’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130:9: danger: ‘terminal’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  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: GCC_ANALYZER_WARNING (CWE-401): [#def283]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130:26: warning[-Wanalyzer-malloc-leak]: leak of ‘terminal’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:130:26: danger: ‘terminal’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  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: CPPCHECK_WARNING (CWE-476): [#def284]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:131: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  129|   
#  130|           terminal->loop = ply_event_loop_get_default ();
#  131|->         terminal->vt_change_closures = ply_list_new ();
#  132|           terminal->input_closures = ply_list_new ();
#  133|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def285]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:131:40: warning[-Wanalyzer-malloc-leak]: leak of ‘terminal’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:131:40: danger: ‘terminal’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  129|   
#  130|           terminal->loop = ply_event_loop_get_default ();
#  131|->         terminal->vt_change_closures = ply_list_new ();
#  132|           terminal->input_closures = ply_list_new ();
#  133|   

Error: CPPCHECK_WARNING (CWE-476): [#def286]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:132: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  130|           terminal->loop = ply_event_loop_get_default ();
#  131|           terminal->vt_change_closures = ply_list_new ();
#  132|->         terminal->input_closures = ply_list_new ();
#  133|   
#  134|           if (strncmp (device_name, "/dev/", strlen ("/dev/")) == 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def287]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:132:36: warning[-Wanalyzer-malloc-leak]: leak of ‘terminal’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:132:36: danger: ‘terminal’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  130|           terminal->loop = ply_event_loop_get_default ();
#  131|           terminal->vt_change_closures = ply_list_new ();
#  132|->         terminal->input_closures = ply_list_new ();
#  133|   
#  134|           if (strncmp (device_name, "/dev/", strlen ("/dev/")) == 0)

Error: COMPILER_WARNING (CWE-252): [#def288]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_new’
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: CPPCHECK_WARNING (CWE-476): [#def289]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  137|                   asprintf (&terminal->name, "/dev/%s", device_name);
#  138|   
#  139|->         terminal->fd = -1;
#  140|           terminal->vt_number = -1;
#  141|           terminal->initial_vt_number = -1;

Error: CPPCHECK_WARNING (CWE-476): [#def290]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  138|   
#  139|           terminal->fd = -1;
#  140|->         terminal->vt_number = -1;
#  141|           terminal->initial_vt_number = -1;
#  142|           terminal->keymap = keymap;

Error: CPPCHECK_WARNING (CWE-476): [#def291]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  139|           terminal->fd = -1;
#  140|           terminal->vt_number = -1;
#  141|->         terminal->initial_vt_number = -1;
#  142|           terminal->keymap = keymap;
#  143|           if (terminal->keymap)

Error: CPPCHECK_WARNING (CWE-476): [#def292]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:142: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  140|           terminal->vt_number = -1;
#  141|           terminal->initial_vt_number = -1;
#  142|->         terminal->keymap = keymap;
#  143|           if (terminal->keymap)
#  144|                   ply_trace ("terminal %s keymap: %s", terminal->name, terminal->keymap);

Error: CPPCHECK_WARNING (CWE-476): [#def293]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:143: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: terminal
#  141|           terminal->initial_vt_number = -1;
#  142|           terminal->keymap = keymap;
#  143|->         if (terminal->keymap)
#  144|                   ply_trace ("terminal %s keymap: %s", terminal->name, terminal->keymap);
#  145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def294]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: warning[-Wanalyzer-malloc-leak]: leak of ‘*terminal.name’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:134:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:135:34: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:135:34: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:143:12: branch_true: following ‘true’ branch (when ‘keymap’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: danger: ‘*terminal.name’ leaks here; was allocated at [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
#  142|           terminal->keymap = keymap;
#  143|           if (terminal->keymap)
#  144|->                 ply_trace ("terminal %s keymap: %s", terminal->name, terminal->keymap);
#  145|   
#  146|           return terminal;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def295]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:134:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:135:34: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:135:34: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:143:12: branch_true: following ‘true’ branch (when ‘keymap’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: danger: ‘<unknown>’ leaks here; was allocated at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#  142|           terminal->keymap = keymap;
#  143|           if (terminal->keymap)
#  144|->                 ply_trace ("terminal %s keymap: %s", terminal->name, terminal->keymap);
#  145|   
#  146|           return terminal;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def296]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: warning[-Wanalyzer-malloc-leak]: leak of ‘terminal’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:126:9: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:128:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:134:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:135:34: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:143:12: branch_true: following ‘true’ branch (when ‘keymap’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:144:17: danger: ‘terminal’ leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  142|           terminal->keymap = keymap;
#  143|           if (terminal->keymap)
#  144|->                 ply_trace ("terminal %s keymap: %s", terminal->name, terminal->keymap);
#  145|   
#  146|           return terminal;

Error: COMPILER_WARNING (CWE-252): [#def297]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c: scope_hint: In function ‘ply_terminal_write’
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: CPPCHECK_WARNING (CWE-476): [#def298]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1031: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def299]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1031:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1027:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1030:19: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1030:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1031:9: danger: ‘closure’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/2)
# 1029|   
# 1030|           closure = calloc (1, sizeof(*closure));
# 1031|->         closure->handler = active_vt_changed_handler;
# 1032|           closure->user_data = user_data;
# 1033|   

Error: CPPCHECK_WARNING (CWE-476): [#def300]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1032: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
# 1030|           closure = calloc (1, sizeof(*closure));
# 1031|           closure->handler = active_vt_changed_handler;
# 1032|->         closure->user_data = user_data;
# 1033|   
# 1034|           ply_list_append_data (terminal->vt_change_closures, closure);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def301]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1034:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1027:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1030:19: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1030:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1034:9: danger: ‘closure’ leaks here; was allocated at [(3)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/2)
# 1032|           closure->user_data = user_data;
# 1033|   
# 1034|->         ply_list_append_data (terminal->vt_change_closures, closure);
# 1035|   }
# 1036|   

Error: CPPCHECK_WARNING (CWE-476): [#def302]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1073: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def303]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1073:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1072:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1073:9: danger: ‘closure’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
# 1071|   
# 1072|           closure = calloc (1, sizeof(*closure));
# 1073|->         closure->handler = input_handler;
# 1074|           closure->user_data = user_data;
# 1075|   

Error: CPPCHECK_WARNING (CWE-476): [#def304]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1074: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
# 1072|           closure = calloc (1, sizeof(*closure));
# 1073|           closure->handler = input_handler;
# 1074|->         closure->user_data = user_data;
# 1075|   
# 1076|           ply_list_append_data (terminal->input_closures, closure);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def305]
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1076:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1072:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-terminal.c:1076:9: danger: ‘closure’ leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
# 1074|           closure->user_data = user_data;
# 1075|   
# 1076|->         ply_list_append_data (terminal->input_closures, closure);
# 1077|   }
# 1078|   

Error: CPPCHECK_WARNING (CWE-476): [#def306]
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:112: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#  110|           display = calloc (1, sizeof(ply_text_display_t));
#  111|   
#  112|->         display->loop = NULL;
#  113|           display->terminal = terminal;
#  114|   

Error: CPPCHECK_WARNING (CWE-476): [#def307]
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:113: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: display
#  111|   
#  112|           display->loop = NULL;
#  113|->         display->terminal = terminal;
#  114|   
#  115|           return display;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def308]
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:113:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘display’
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:110:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c:113:9: danger: ‘display’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  111|   
#  112|           display->loop = NULL;
#  113|->         display->terminal = terminal;
#  114|   
#  115|           return display;

Error: COMPILER_WARNING (CWE-252): [#def309]
plymouth-24.004.60/src/libply-splash-core/ply-text-display.c: scope_hint: In function ‘ply_text_display_write’
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): [#def310]
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: CPPCHECK_WARNING (CWE-476): [#def311]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:80: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   78|           progress_bar = calloc (1, sizeof(ply_text_progress_bar_t));
#   79|   
#   80|->         progress_bar->row = 0;
#   81|           progress_bar->column = 0;
#   82|           progress_bar->number_of_columns = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def312]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:81: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def313]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:81:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_bar’
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:78:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:81:9: danger: ‘progress_bar’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def314]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:82: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   80|           progress_bar->row = 0;
#   81|           progress_bar->column = 0;
#   82|->         progress_bar->number_of_columns = 0;
#   83|           progress_bar->number_of_rows = 0;
#   84|   

Error: CPPCHECK_WARNING (CWE-476): [#def315]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:83: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   81|           progress_bar->column = 0;
#   82|           progress_bar->number_of_columns = 0;
#   83|->         progress_bar->number_of_rows = 0;
#   84|   
#   85|           return progress_bar;

Error: COMPILER_WARNING (CWE-252): [#def316]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c: scope_hint: In function ‘get_os_string’
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: GCC_ANALYZER_WARNING (CWE-401): [#def317]
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:117:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:107:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:110:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:110:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:115:23: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:115:15: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:117:9: danger: ‘buf’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  115|           buf = calloc (sbuf.st_size + 1, sizeof(char));
#  116|           read (fd, buf, sbuf.st_size);
#  117|->         close (fd);
#  118|   
#  119|           if (strcmp (RELEASE_FILE, "/etc/os-release") == 0) {

Error: COMPILER_WARNING (CWE-252): [#def318]
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): [#def319]
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
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:107:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:110:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:110:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:115:23: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:115:15: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-text-progress-bar.c:150:15: danger: argument 1 (‘buf’) from [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4) could be NULL where non-null expected
#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): [#def320]
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: CPPCHECK_WARNING (CWE-476): [#def321]
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: step_bar
#   48|           step_bar = calloc (1, sizeof(ply_text_step_bar_t));
#   49|   
#   50|->         step_bar->row = 0;
#   51|           step_bar->column = 0;
#   52|           step_bar->number_of_columns = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def322]
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:51: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def323]
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:51:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘step_bar’
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:48:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:51:9: danger: ‘step_bar’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def324]
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:52: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: step_bar
#   50|           step_bar->row = 0;
#   51|           step_bar->column = 0;
#   52|->         step_bar->number_of_columns = 0;
#   53|           step_bar->number_of_rows = 0;
#   54|   

Error: CPPCHECK_WARNING (CWE-476): [#def325]
plymouth-24.004.60/src/libply-splash-core/ply-text-step-bar.c:53: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: step_bar
#   51|           step_bar->column = 0;
#   52|           step_bar->number_of_columns = 0;
#   53|->         step_bar->number_of_rows = 0;
#   54|   
#   55|           return step_bar;

Error: CPPCHECK_WARNING (CWE-476): [#def326]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   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: GCC_ANALYZER_WARNING (CWE-476): [#def327]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘animation’
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:83:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:84:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:84:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:86:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:86:21: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88:9: danger: ‘animation’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   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: GCC_ANALYZER_WARNING (CWE-401): [#def328]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88:29: warning[-Wanalyzer-malloc-leak]: leak of ‘animation’
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:83:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:84:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:84:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:86:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:86:21: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:88:29: danger: ‘animation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   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: CPPCHECK_WARNING (CWE-476): [#def329]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:89: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   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);
#   91|           animation->frame_number = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def330]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:90: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   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);
#   91|           animation->frame_number = 0;
#   92|           animation->is_stopped = true;

Error: CPPCHECK_WARNING (CWE-476): [#def331]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   89|           animation->frames_prefix = strdup (frames_prefix);
#   90|           animation->image_dir = strdup (image_dir);
#   91|->         animation->frame_number = 0;
#   92|           animation->is_stopped = true;
#   93|           animation->stop_requested = false;

Error: CPPCHECK_WARNING (CWE-476): [#def332]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:92: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   90|           animation->image_dir = strdup (image_dir);
#   91|           animation->frame_number = 0;
#   92|->         animation->is_stopped = true;
#   93|           animation->stop_requested = false;
#   94|           animation->width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def333]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   91|           animation->frame_number = 0;
#   92|           animation->is_stopped = true;
#   93|->         animation->stop_requested = false;
#   94|           animation->width = 0;
#   95|           animation->height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def334]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:94: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   92|           animation->is_stopped = true;
#   93|           animation->stop_requested = false;
#   94|->         animation->width = 0;
#   95|           animation->height = 0;
#   96|   

Error: CPPCHECK_WARNING (CWE-476): [#def335]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c:95: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: animation
#   93|           animation->stop_requested = false;
#   94|           animation->width = 0;
#   95|->         animation->height = 0;
#   96|   
#   97|           return animation;

Error: COMPILER_WARNING (CWE-252): [#def336]
plymouth-24.004.60/src/libply-splash-graphics/ply-animation.c: scope_hint: In function ‘ply_animation_add_frames’
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): [#def337]
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c: scope_hint: In function ‘ply_capslock_icon_new’
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: CPPCHECK_WARNING (CWE-476): [#def338]
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:66: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: capslock_icon
#   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): [#def339]
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:66:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘capslock_icon’
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:61:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:63:25: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:63:25: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-capslock-icon.c:66:9: danger: ‘capslock_icon’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   64|   
#   65|           asprintf (&capslock_icon->image_name, "%s/capslock.png", image_dir);
#   66|->         capslock_icon->is_hidden = true;
#   67|   
#   68|           return capslock_icon;

Error: CPPCHECK_WARNING (CWE-476): [#def340]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def341]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105:9: danger: ‘console_viewer’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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: GCC_ANALYZER_WARNING (CWE-401): [#def342]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105:42: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:105:42: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def343]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:106: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  104|   
#  105|           console_viewer->message_labels = ply_list_new ();
#  106|->         console_viewer->is_hidden = true;
#  107|   
#  108|           console_viewer->font = strdup (font);

Error: CPPCHECK_WARNING (CWE-476): [#def344]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  106|           console_viewer->is_hidden = true;
#  107|   
#  108|->         console_viewer->font = strdup (font);
#  109|   
#  110|           measure_label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def345]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:110:25: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:110:25: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  108|           console_viewer->font = strdup (font);
#  109|   
#  110|->         measure_label = ply_label_new ();
#  111|           ply_label_set_text (measure_label, " ");
#  112|           ply_label_set_font (measure_label, console_viewer->font);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def346]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:110:25: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:110:25: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  108|           console_viewer->font = strdup (font);
#  109|   
#  110|->         measure_label = ply_label_new ();
#  111|           ply_label_set_text (measure_label, " ");
#  112|           ply_label_set_font (measure_label, console_viewer->font);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def347]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:111:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:111:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  109|   
#  110|           measure_label = ply_label_new ();
#  111|->         ply_label_set_text (measure_label, " ");
#  112|           ply_label_set_font (measure_label, console_viewer->font);
#  113|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def348]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:111:9: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:111:9: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  109|   
#  110|           measure_label = ply_label_new ();
#  111|->         ply_label_set_text (measure_label, " ");
#  112|           ply_label_set_font (measure_label, console_viewer->font);
#  113|   

Error: CPPCHECK_WARNING (CWE-476): [#def349]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:112: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  110|           measure_label = ply_label_new ();
#  111|           ply_label_set_text (measure_label, " ");
#  112|->         ply_label_set_font (measure_label, console_viewer->font);
#  113|   
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def350]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:112:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:112:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  110|           measure_label = ply_label_new ();
#  111|           ply_label_set_text (measure_label, " ");
#  112|->         ply_label_set_font (measure_label, console_viewer->font);
#  113|   
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def351]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:112:9: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:112:9: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  110|           measure_label = ply_label_new ();
#  111|           ply_label_set_text (measure_label, " ");
#  112|->         ply_label_set_font (measure_label, console_viewer->font);
#  113|   
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;

Error: CPPCHECK_WARNING (CWE-476): [#def352]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:114: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  112|           ply_label_set_font (measure_label, console_viewer->font);
#  113|   
#  114|->         console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;
#  115|   
#  116|           console_viewer->font_height = ply_label_get_height (measure_label);

Error: CPPCHECK_WARNING (CWE-476): [#def353]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:116: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;
#  115|   
#  116|->         console_viewer->font_height = ply_label_get_height (measure_label);
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def354]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:116:39: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:116:39: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;
#  115|   
#  116|->         console_viewer->font_height = ply_label_get_height (measure_label);
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def355]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:116:39: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:116:39: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  114|           console_viewer->text_color = PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR;
#  115|   
#  116|->         console_viewer->font_height = ply_label_get_height (measure_label);
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */

Error: CPPCHECK_WARNING (CWE-476): [#def356]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:117: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  115|   
#  116|           console_viewer->font_height = ply_label_get_height (measure_label);
#  117|->         console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def357]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:117:38: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:117:38: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  115|   
#  116|           console_viewer->font_height = ply_label_get_height (measure_label);
#  117|->         console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def358]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:117:38: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:117:38: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  115|   
#  116|           console_viewer->font_height = ply_label_get_height (measure_label);
#  117|->         console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;

Error: CPPCHECK_WARNING (CWE-476): [#def359]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:119: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|->         console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|           line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def360]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:119:42: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:119:42: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|->         console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|           line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def361]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:119:42: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:119:42: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  117|           console_viewer->font_width = ply_label_get_width (measure_label);
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|->         console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|           line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   

Error: CPPCHECK_WARNING (CWE-476): [#def362]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|->         line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   
#  122|           /* Display at least one line */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def363]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:120:22: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:120:22: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|->         line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   
#  122|           /* Display at least one line */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def364]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:120:22: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:120:22: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  118|           /* Allow the label to be the size of how many characters can fit in the width of the screeen, minus one for larger fonts that have some size overhead */
#  119|           console_viewer->line_max_chars = ply_pixel_display_get_width (display) / console_viewer->font_width - 1;
#  120|->         line_count = ply_pixel_display_get_height (display) / console_viewer->font_height;
#  121|   
#  122|           /* Display at least one line */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def365]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:126:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:126:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  124|                   line_count = 1;
#  125|   
#  126|->         ply_label_free (measure_label);
#  127|   
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def366]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:126:9: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:126:9: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  124|                   line_count = 1;
#  125|   
#  126|->         ply_label_free (measure_label);
#  127|   
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def367]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  127|   
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {
#  129|->                 console_message_label = ply_label_new ();
#  130|                   ply_label_set_font (console_message_label, console_viewer->font);
#  131|                   ply_list_append_data (console_viewer->message_labels, console_message_label);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def368]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  127|   
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {
#  129|->                 console_message_label = ply_label_new ();
#  130|                   ply_label_set_font (console_message_label, console_viewer->font);
#  131|                   ply_list_append_data (console_viewer->message_labels, console_message_label);

Error: CPPCHECK_WARNING (CWE-476): [#def369]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:130: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {
#  129|                   console_message_label = ply_label_new ();
#  130|->                 ply_label_set_font (console_message_label, console_viewer->font);
#  131|                   ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def370]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:130:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:130:17: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {
#  129|                   console_message_label = ply_label_new ();
#  130|->                 ply_label_set_font (console_message_label, console_viewer->font);
#  131|                   ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def371]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:130:17: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:130:17: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  128|           for (size_t label_index = 0; label_index < line_count; label_index++) {
#  129|                   console_message_label = ply_label_new ();
#  130|->                 ply_label_set_font (console_message_label, console_viewer->font);
#  131|                   ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }

Error: CPPCHECK_WARNING (CWE-476): [#def372]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:131: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  129|                   console_message_label = ply_label_new ();
#  130|                   ply_label_set_font (console_message_label, console_viewer->font);
#  131|->                 ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }
#  133|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def373]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:131:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:131:17: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/0)
#  129|                   console_message_label = ply_label_new ();
#  130|                   ply_label_set_font (console_message_label, console_viewer->font);
#  131|->                 ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }
#  133|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def374]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:131:17: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:128:38: branch_true: following ‘true’ branch (when ‘line_count > label_index’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:129:41: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:131:17: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0)
#  129|                   console_message_label = ply_label_new ();
#  130|                   ply_label_set_font (console_message_label, console_viewer->font);
#  131|->                 ply_list_append_data (console_viewer->message_labels, console_message_label);
#  132|           }
#  133|   

Error: CPPCHECK_WARNING (CWE-476): [#def375]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:134: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  132|           }
#  133|   
#  134|->         console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|           ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def376]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:134:45: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:134:45: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  132|           }
#  133|   
#  134|->         console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|           ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def377]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:134:45: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:134:45: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/0)
#  132|           }
#  133|   
#  134|->         console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|           ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,

Error: CPPCHECK_WARNING (CWE-476): [#def378]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:136: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: console_viewer
#  134|           console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|->         ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,
#  137|                                                   (ply_terminal_emulator_output_handler_t)
#  138|                                                   on_terminal_emulator_output,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def379]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:136:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:108:32: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:136:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/0)
#  134|           console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|->         ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,
#  137|                                                   (ply_terminal_emulator_output_handler_t)
#  138|                                                   on_terminal_emulator_output,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def380]
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:136:9: warning[-Wanalyzer-malloc-leak]: leak of ‘console_viewer’
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:103:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-console-viewer.c:136:9: danger: ‘console_viewer’ leaks here; was allocated at [(1)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/0)
#  134|           console_viewer->terminal_emulator = ply_terminal_emulator_new (line_count, console_viewer->line_max_chars);
#  135|   
#  136|->         ply_terminal_emulator_watch_for_output (console_viewer->terminal_emulator,
#  137|                                                   (ply_terminal_emulator_output_handler_t)
#  138|                                                   on_terminal_emulator_output,

Error: COMPILER_WARNING (CWE-252): [#def381]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c: scope_hint: In function ‘ply_entry_new’
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: CPPCHECK_WARNING (CWE-476): [#def382]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   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: GCC_ANALYZER_WARNING (CWE-476): [#def383]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:82:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88:9: danger: ‘entry’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   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: GCC_ANALYZER_WARNING (CWE-401): [#def384]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88:35: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:82:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:88:35: danger: ‘entry’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   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): [#def385]
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: CPPCHECK_WARNING (CWE-476): [#def386]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   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);
#   95|           entry->label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def387]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:93:31: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:82:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:93:31: danger: ‘entry’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   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);
#   95|           entry->label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def388]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:95: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   93|           entry->bullet_image = ply_image_new (image_path);
#   94|           free (image_path);
#   95|->         entry->label = ply_label_new ();
#   96|           ply_label_set_color (entry->label, 0, 0, 0, 1);
#   97|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def389]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:95:24: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:82:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:95:24: danger: ‘entry’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   93|           entry->bullet_image = ply_image_new (image_path);
#   94|           free (image_path);
#   95|->         entry->label = ply_label_new ();
#   96|           ply_label_set_color (entry->label, 0, 0, 0, 1);
#   97|   

Error: CPPCHECK_WARNING (CWE-476): [#def390]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   94|           free (image_path);
#   95|           entry->label = ply_label_new ();
#   96|->         ply_label_set_color (entry->label, 0, 0, 0, 1);
#   97|   
#   98|           entry->number_of_bullets = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def391]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:96:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:82:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:84:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:96:9: danger: ‘entry’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#   94|           free (image_path);
#   95|           entry->label = ply_label_new ();
#   96|->         ply_label_set_color (entry->label, 0, 0, 0, 1);
#   97|   
#   98|           entry->number_of_bullets = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def392]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:98: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   96|           ply_label_set_color (entry->label, 0, 0, 0, 1);
#   97|   
#   98|->         entry->number_of_bullets = 0;
#   99|           entry->text = strdup ("");
#  100|   

Error: CPPCHECK_WARNING (CWE-476): [#def393]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   97|   
#   98|           entry->number_of_bullets = 0;
#   99|->         entry->text = strdup ("");
#  100|   
#  101|           entry->is_hidden = true;

Error: CPPCHECK_WARNING (CWE-476): [#def394]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:101: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#   99|           entry->text = strdup ("");
#  100|   
#  101|->         entry->is_hidden = true;
#  102|           entry->is_password = true;
#  103|   

Error: CPPCHECK_WARNING (CWE-476): [#def395]
plymouth-24.004.60/src/libply-splash-graphics/ply-entry.c:102: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#  100|   
#  101|           entry->is_hidden = true;
#  102|->         entry->is_password = true;
#  103|   
#  104|           return entry;

Error: CPPCHECK_WARNING (CWE-476): [#def396]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: image
#   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): [#def397]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:91:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘image’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:87:9: branch_true: following ‘true’ branch (when ‘filename’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:89:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:89:17: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:91:9: danger: ‘image’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   89|           image = calloc (1, sizeof(ply_image_t));
#   90|   
#   91|->         image->filename = strdup (filename);
#   92|           image->buffer = NULL;
#   93|   

Error: CPPCHECK_WARNING (CWE-476): [#def398]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:92: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: image
#   90|   
#   91|           image->filename = strdup (filename);
#   92|->         image->buffer = NULL;
#   93|   
#   94|           return image;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def399]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  151|           assert (fp != NULL);
#  152|   
#  153|->         png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
#  154|           assert (png != NULL);
#  155|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def400]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  151|           assert (fp != NULL);
#  152|   
#  153|->         png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
#  154|           assert (png != NULL);
#  155|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def401]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  154|           assert (png != NULL);
#  155|   
#  156|->         info = png_create_info_struct (png);
#  157|           assert (info != NULL);
#  158|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def402]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  154|           assert (png != NULL);
#  155|   
#  156|->         info = png_create_info_struct (png);
#  157|           assert (info != NULL);
#  158|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def403]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  157|           assert (info != NULL);
#  158|   
#  159|->         png_init_io (png, fp);
#  160|   
#  161|           if (setjmp (png_jmpbuf (png)) != 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def404]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:300:23: call_function: calling ‘ply_image_load_png’ from ‘ply_image_load’
#  157|           assert (info != NULL);
#  158|   
#  159|->         png_init_io (png, fp);
#  160|   
#  161|           if (setjmp (png_jmpbuf (png)) != 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def405]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:198:25: warning[-Wanalyzer-malloc-leak]: leak of ‘rows’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:150:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:154:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:157:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:161:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:164:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:197:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:198:25: danger: ‘rows’ leaks here; was allocated at [(12)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/11)
#  196|   
#  197|           rows = malloc (height * sizeof(png_byte *));
#  198|->         image->buffer = ply_pixel_buffer_new (width, height);
#  199|   
#  200|           bytes = ply_pixel_buffer_get_argb32_data (image->buffer);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def406]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:200:17: warning[-Wanalyzer-malloc-leak]: leak of ‘rows’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:150:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:154:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:157:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:161:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:164:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:197:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:200:17: danger: ‘rows’ leaks here; was allocated at [(12)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/11)
#  198|           image->buffer = ply_pixel_buffer_new (width, height);
#  199|   
#  200|->         bytes = ply_pixel_buffer_get_argb32_data (image->buffer);
#  201|   
#  202|           for (row = 0; row < height; row++) {

Error: CPPCHECK_WARNING (CWE-476): [#def407]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:203: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: rows
#  201|   
#  202|           for (row = 0; row < height; row++) {
#  203|->                 rows[row] = (png_byte *) &bytes[row * width];
#  204|           }
#  205|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def408]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:203:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘rows’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:150:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:154:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:157:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:161:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:164:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:197:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:202:23: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:203:49: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:203:17: danger: ‘rows + (long unsigned int)row * 8’ could be NULL: unchecked value from [(12)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/11)
#  201|   
#  202|           for (row = 0; row < height; row++) {
#  203|->                 rows[row] = (png_byte *) &bytes[row * width];
#  204|           }
#  205|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def409]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:206:9: warning[-Wanalyzer-malloc-leak]: leak of ‘rows’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:150:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:151:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:153:15: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:154:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:156:16: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:157:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:159:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:161:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:164:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:197:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:202:23: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:206:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:206:9: danger: ‘rows’ leaks here; was allocated at [(12)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/11)
#  204|           }
#  205|   
#  206|->         png_read_image (png, rows);
#  207|   
#  208|           free (rows);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def410]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  244|           assert (buf);
#  245|   
#  246|->         if (fseek (fp, file_header.bitmap_offset, SEEK_SET) != 0)
#  247|                   goto out;
#  248|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def411]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:225:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:13: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:236:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:239:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:243:15: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:244:9: branch_true: following ‘true’ branch (when ‘buf’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:24: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:13: danger: ‘buf’ leaks here; was allocated at [(15)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/14)
#  244|           assert (buf);
#  245|   
#  246|->         if (fseek (fp, file_header.bitmap_offset, SEEK_SET) != 0)
#  247|                   goto out;
#  248|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def412]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  244|           assert (buf);
#  245|   
#  246|->         if (fseek (fp, file_header.bitmap_offset, SEEK_SET) != 0)
#  247|                   goto out;
#  248|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def413]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  250|                   goto out;
#  251|   
#  252|->         image->buffer = ply_pixel_buffer_new (width, height);
#  253|           dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def414]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:225:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:13: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:236:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:239:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:243:15: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:244:9: branch_true: following ‘true’ branch (when ‘buf’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:24: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: danger: ‘buf’ leaks here; was allocated at [(15)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/14)
#  250|                   goto out;
#  251|   
#  252|->         image->buffer = ply_pixel_buffer_new (width, height);
#  253|           dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def415]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  250|                   goto out;
#  251|   
#  252|->         image->buffer = ply_pixel_buffer_new (width, height);
#  253|           dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def416]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:253:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  251|   
#  252|           image->buffer = ply_pixel_buffer_new (width, height);
#  253|->         dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   
#  255|           for (y = 0; y < height; y++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def417]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:253:15: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:225:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:13: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:236:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:239:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:243:15: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:244:9: branch_true: following ‘true’ branch (when ‘buf’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:24: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:253:15: danger: ‘buf’ leaks here; was allocated at [(15)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/14)
#  251|   
#  252|           image->buffer = ply_pixel_buffer_new (width, height);
#  253|->         dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   
#  255|           for (y = 0; y < height; y++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def418]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:253:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  251|   
#  252|           image->buffer = ply_pixel_buffer_new (width, height);
#  253|->         dst = ply_pixel_buffer_get_argb32_data (image->buffer);
#  254|   
#  255|           for (y = 0; y < height; y++) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def419]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:272:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  270|           }
#  271|   
#  272|->         ply_pixel_buffer_set_opaque (image->buffer, true);
#  273|           ret = true;
#  274|   out:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def420]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:272:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:225:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:226:9: branch_true: following ‘true’ branch (when ‘fp’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:13: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:228:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:231:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:236:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:234:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:239:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:243:15: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:244:9: branch_true: following ‘true’ branch (when ‘buf’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:24: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:246:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:249:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:252:25: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:255:21: branch_false: following ‘false’ branch (when ‘y >= height’)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:272:9: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:272:9: danger: ‘buf’ leaks here; was allocated at [(15)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/14)
#  270|           }
#  271|   
#  272|->         ply_pixel_buffer_set_opaque (image->buffer, true);
#  273|           ret = true;
#  274|   out:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def421]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:272:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:280:1: enter_function: entry to ‘ply_image_load’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:299:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:303:18: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:302:18: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:304:23: call_function: calling ‘ply_image_load_bmp’ from ‘ply_image_load’
#  270|           }
#  271|   
#  272|->         ply_pixel_buffer_set_opaque (image->buffer, true);
#  273|           ret = true;
#  274|   out:

Error: GCC_ANALYZER_WARNING (CWE-775): [#def422]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_resource: opened here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: danger: ‘fopen(*image.filename, "re")’ leaks here; was opened at [(3)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/2)
#  294|   
#  295|           /* Rewind */
#  296|->         if (fseek (fp, 0, SEEK_SET) != 0)
#  297|                   goto out;
#  298|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def423]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*image.filename, "re")’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:286:9: branch_true: following ‘true’ branch (when ‘image’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:288:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:289:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:292:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:296:13: danger: ‘fopen(*image.filename, "re")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/2)
#  294|   
#  295|           /* Rewind */
#  296|->         if (fseek (fp, 0, SEEK_SET) != 0)
#  297|                   goto out;
#  298|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def424]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:350:29: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:342:1: enter_function: entry to ‘ply_image_resize’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:348:21: call_function: calling ‘ply_image_new’ from ‘ply_image_resize’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:348:21: return_function: returning to ‘ply_image_resize’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:350:29: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/5)
#  348|           new_image = ply_image_new (image->filename);
#  349|   
#  350|->         new_image->buffer = ply_pixel_buffer_resize (image->buffer,
#  351|                                                        width,
#  352|                                                        height);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def425]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:350:29: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_image_new(*image.filename)’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:342:1: enter_function: entry to ‘ply_image_resize’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:348:21: call_function: calling ‘ply_image_new’ from ‘ply_image_resize’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:348:21: return_function: returning to ‘ply_image_resize’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:350:29: danger: ‘ply_image_new(*image.filename)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/5)
#  348|           new_image = ply_image_new (image->filename);
#  349|   
#  350|->         new_image->buffer = ply_pixel_buffer_resize (image->buffer,
#  351|                                                        width,
#  352|                                                        height);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def426]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:366:29: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:357:1: enter_function: entry to ‘ply_image_rotate’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:364:21: call_function: calling ‘ply_image_new’ from ‘ply_image_rotate’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:364:21: return_function: returning to ‘ply_image_rotate’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:366:29: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/5)
#  364|           new_image = ply_image_new (image->filename);
#  365|   
#  366|->         new_image->buffer = ply_pixel_buffer_rotate (image->buffer,
#  367|                                                        center_x,
#  368|                                                        center_y,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def427]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:366:29: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_image_new(*image.filename)’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:357:1: enter_function: entry to ‘ply_image_rotate’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:364:21: call_function: calling ‘ply_image_new’ from ‘ply_image_rotate’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:364:21: return_function: returning to ‘ply_image_rotate’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:366:29: danger: ‘ply_image_new(*image.filename)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/5)
#  364|           new_image = ply_image_new (image->filename);
#  365|   
#  366|->         new_image->buffer = ply_pixel_buffer_rotate (image->buffer,
#  367|                                                        center_x,
#  368|                                                        center_y,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def428]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:382:29: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:374:1: enter_function: entry to ‘ply_image_tile’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:380:21: call_function: calling ‘ply_image_new’ from ‘ply_image_tile’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:380:21: return_function: returning to ‘ply_image_tile’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:382:29: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/5)
#  380|           new_image = ply_image_new (image->filename);
#  381|   
#  382|->         new_image->buffer = ply_pixel_buffer_tile (image->buffer,
#  383|                                                      width,
#  384|                                                      height);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def429]
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:382:29: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_image_new(*image.filename)’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:374:1: enter_function: entry to ‘ply_image_tile’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:380:21: call_function: calling ‘ply_image_new’ from ‘ply_image_tile’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:380:21: return_function: returning to ‘ply_image_tile’ from ‘ply_image_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-image.c:382:29: danger: ‘ply_image_new(*image.filename)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/5)
#  380|           new_image = ply_image_new (image->filename);
#  381|   
#  382|->         new_image->buffer = ply_pixel_buffer_tile (image->buffer,
#  383|                                                      width,
#  384|                                                      height);

Error: CPPCHECK_WARNING (CWE-476): [#def430]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:90: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#   88|           int i;
#   89|   
#   90|->         keymap_icon->keymap_offset = -1;
#   91|   
#   92|           renderer = ply_pixel_display_get_renderer (keymap_icon->display);

Error: CPPCHECK_WARNING (CWE-476): [#def431]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:92: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#   90|           keymap_icon->keymap_offset = -1;
#   91|   
#   92|->         renderer = ply_pixel_display_get_renderer (keymap_icon->display);
#   93|           keymap_with_variant = ply_renderer_get_keymap (renderer);
#   94|           if (!keymap_with_variant)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def432]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:92:20: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:133:34: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#   90|           keymap_icon->keymap_offset = -1;
#   91|   
#   92|->         renderer = ply_pixel_display_get_renderer (keymap_icon->display);
#   93|           keymap_with_variant = ply_renderer_get_keymap (renderer);
#   94|           if (!keymap_with_variant)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def433]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:92:20: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap_icon’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:131:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#   90|           keymap_icon->keymap_offset = -1;
#   91|   
#   92|->         renderer = ply_pixel_display_get_renderer (keymap_icon->display);
#   93|           keymap_with_variant = ply_renderer_get_keymap (renderer);
#   94|           if (!keymap_with_variant)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def434]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:93:31: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:133:34: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#   91|   
#   92|           renderer = ply_pixel_display_get_renderer (keymap_icon->display);
#   93|->         keymap_with_variant = ply_renderer_get_keymap (renderer);
#   94|           if (!keymap_with_variant)
#   95|                   return;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def435]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:93:31: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap_icon’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:131:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#   91|   
#   92|           renderer = ply_pixel_display_get_renderer (keymap_icon->display);
#   93|->         keymap_with_variant = ply_renderer_get_keymap (renderer);
#   94|           if (!keymap_with_variant)
#   95|                   return;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def436]
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
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:83:1: enter_function: entry to ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:94:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: call_function: calling ‘ply_keymap_normalize_keymap’ from ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: return_function: returning to ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_normalize_keymap’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:99:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:102:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:102:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:104:27: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:104:27: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: danger: argument 2 (‘icon_text’) NULL where non-null expected
#  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): [#def437]
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/src/libply-splash-graphics/ply-keymap-icon.c:83:1: enter_function: entry to ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:94:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: call_function: calling ‘ply_keymap_normalize_keymap’ from ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: return_function: returning to ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_normalize_keymap’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:99:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:102:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:102:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:21: danger: argument 2 (‘icon_text’) from [(8)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/7) could be NULL where non-null expected
#  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-401): [#def438]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:133:34: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#  116|   
#  117|           if (keymap_icon->keymap_offset == -1) {
#  118|->                 ply_trace ("Warning: no pre-rendered text for '%s' keymap", keymap_without_variant);
#  119|                   keymap_icon->keymap_name = strdup (keymap_without_variant);
#  120|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def439]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: warning[-Wanalyzer-malloc-leak]: leak of ‘icon_text’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:83:1: enter_function: entry to ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:94:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: call_function: calling ‘ply_keymap_normalize_keymap’ from ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: return_function: returning to ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_normalize_keymap’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:99:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:102:21: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:108:20: branch_false: following ‘false’ branch (when the strings are non-equal)...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:99:50: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:99:21: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:117:13: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:117:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: danger: ‘icon_text’ leaks here; was allocated at [(8)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/7)
#  116|   
#  117|           if (keymap_icon->keymap_offset == -1) {
#  118|->                 ply_trace ("Warning: no pre-rendered text for '%s' keymap", keymap_without_variant);
#  119|                   keymap_icon->keymap_name = strdup (keymap_without_variant);
#  120|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def440]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap_icon’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:126:1: enter_function: entry to ‘ply_keymap_icon_new’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:131:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:137:9: call_function: calling ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_icon_new’
#  116|   
#  117|           if (keymap_icon->keymap_offset == -1) {
#  118|->                 ply_trace ("Warning: no pre-rendered text for '%s' keymap", keymap_without_variant);
#  119|                   keymap_icon->keymap_name = strdup (keymap_without_variant);
#  120|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def441]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_keymap_normalize_keymap(ply_renderer_get_keymap(ply_pixel_display_get_renderer(*keymap_icon.display)))’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:83:1: enter_function: entry to ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:94:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: branch_false: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: call_function: calling ‘ply_keymap_normalize_keymap’ from ‘ply_keymap_icon_fill_keymap_info’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:97:34: return_function: returning to ‘ply_keymap_icon_fill_keymap_info’ from ‘ply_keymap_normalize_keymap’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:117:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:118:17: danger: ‘ply_keymap_normalize_keymap(ply_renderer_get_keymap(ply_pixel_display_get_renderer(*keymap_icon.display)))’ leaks here; was allocated at [(8)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/7)
#  116|   
#  117|           if (keymap_icon->keymap_offset == -1) {
#  118|->                 ply_trace ("Warning: no pre-rendered text for '%s' keymap", keymap_without_variant);
#  119|                   keymap_icon->keymap_name = strdup (keymap_without_variant);
#  120|           }

Error: CPPCHECK_WARNING (CWE-476): [#def442]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:132: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#  130|   
#  131|           keymap_icon = calloc (1, sizeof(ply_keymap_icon_t));
#  132|->         keymap_icon->display = display;
#  133|           keymap_icon->image_dir = strdup (image_dir);
#  134|           keymap_icon->is_hidden = true;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def443]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:132:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘keymap_icon’
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:131:23: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:132:9: danger: ‘keymap_icon’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  130|   
#  131|           keymap_icon = calloc (1, sizeof(ply_keymap_icon_t));
#  132|->         keymap_icon->display = display;
#  133|           keymap_icon->image_dir = strdup (image_dir);
#  134|           keymap_icon->is_hidden = true;

Error: CPPCHECK_WARNING (CWE-476): [#def444]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:133: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#  131|           keymap_icon = calloc (1, sizeof(ply_keymap_icon_t));
#  132|           keymap_icon->display = display;
#  133|->         keymap_icon->image_dir = strdup (image_dir);
#  134|           keymap_icon->is_hidden = true;
#  135|           keymap_icon->has_prerendered_text = false;

Error: CPPCHECK_WARNING (CWE-476): [#def445]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:134: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#  132|           keymap_icon->display = display;
#  133|           keymap_icon->image_dir = strdup (image_dir);
#  134|->         keymap_icon->is_hidden = true;
#  135|           keymap_icon->has_prerendered_text = false;
#  136|   

Error: CPPCHECK_WARNING (CWE-476): [#def446]
plymouth-24.004.60/src/libply-splash-graphics/ply-keymap-icon.c:135: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keymap_icon
#  133|           keymap_icon->image_dir = strdup (image_dir);
#  134|           keymap_icon->is_hidden = true;
#  135|->         keymap_icon->has_prerendered_text = false;
#  136|   
#  137|           ply_keymap_icon_fill_keymap_info (keymap_icon);

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

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

Error: CPPCHECK_WARNING (CWE-476): [#def449]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def450]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:73:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘label’
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:72:17: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:73:9: danger: ‘label’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   71|   
#   72|           label = calloc (1, sizeof(struct _ply_label));
#   73|->         label->red = 1;
#   74|           label->green = 1;
#   75|           label->blue = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def451]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:74: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   72|           label = calloc (1, sizeof(struct _ply_label));
#   73|           label->red = 1;
#   74|->         label->green = 1;
#   75|           label->blue = 1;
#   76|           label->alpha = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def452]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:75: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   73|           label->red = 1;
#   74|           label->green = 1;
#   75|->         label->blue = 1;
#   76|           label->alpha = 1;
#   77|           label->alignment = PLY_LABEL_ALIGN_LEFT;

Error: CPPCHECK_WARNING (CWE-476): [#def453]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:76: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   74|           label->green = 1;
#   75|           label->blue = 1;
#   76|->         label->alpha = 1;
#   77|           label->alignment = PLY_LABEL_ALIGN_LEFT;
#   78|           label->width = -1;

Error: CPPCHECK_WARNING (CWE-476): [#def454]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:77: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   75|           label->blue = 1;
#   76|           label->alpha = 1;
#   77|->         label->alignment = PLY_LABEL_ALIGN_LEFT;
#   78|           label->width = -1;
#   79|           return label;

Error: CPPCHECK_WARNING (CWE-476): [#def455]
plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:78: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   76|           label->alpha = 1;
#   77|           label->alignment = PLY_LABEL_ALIGN_LEFT;
#   78|->         label->width = -1;
#   79|           return label;
#   80|   }

Error: CPPCHECK_WARNING (CWE-476): [#def456]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   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: GCC_ANALYZER_WARNING (CWE-476): [#def457]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_animation’
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:81:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:82:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:82:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:84:30: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:84:30: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86:9: danger: ‘progress_animation’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   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: GCC_ANALYZER_WARNING (CWE-401): [#def458]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86:38: warning[-Wanalyzer-malloc-leak]: leak of ‘progress_animation’
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:81:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:82:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:82:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:84:30: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:84:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:86:38: danger: ‘progress_animation’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   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: CPPCHECK_WARNING (CWE-476): [#def459]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:87: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   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);
#   89|           progress_animation->is_hidden = true;

Error: CPPCHECK_WARNING (CWE-476): [#def460]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:88: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   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);
#   89|           progress_animation->is_hidden = true;
#   90|           progress_animation->fraction_done = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def461]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:89: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   87|           progress_animation->frames_prefix = strdup (frames_prefix);
#   88|           progress_animation->image_dir = strdup (image_dir);
#   89|->         progress_animation->is_hidden = true;
#   90|           progress_animation->fraction_done = 0.0;
#   91|           progress_animation->area.x = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def462]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:90: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   88|           progress_animation->image_dir = strdup (image_dir);
#   89|           progress_animation->is_hidden = true;
#   90|->         progress_animation->fraction_done = 0.0;
#   91|           progress_animation->area.x = 0;
#   92|           progress_animation->area.y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def463]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   89|           progress_animation->is_hidden = true;
#   90|           progress_animation->fraction_done = 0.0;
#   91|->         progress_animation->area.x = 0;
#   92|           progress_animation->area.y = 0;
#   93|           progress_animation->area.width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def464]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:92: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   90|           progress_animation->fraction_done = 0.0;
#   91|           progress_animation->area.x = 0;
#   92|->         progress_animation->area.y = 0;
#   93|           progress_animation->area.width = 0;
#   94|           progress_animation->area.height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def465]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   91|           progress_animation->area.x = 0;
#   92|           progress_animation->area.y = 0;
#   93|->         progress_animation->area.width = 0;
#   94|           progress_animation->area.height = 0;
#   95|           progress_animation->frame_area.x = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def466]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:94: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   92|           progress_animation->area.y = 0;
#   93|           progress_animation->area.width = 0;
#   94|->         progress_animation->area.height = 0;
#   95|           progress_animation->frame_area.x = 0;
#   96|           progress_animation->frame_area.y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def467]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:95: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   93|           progress_animation->area.width = 0;
#   94|           progress_animation->area.height = 0;
#   95|->         progress_animation->frame_area.x = 0;
#   96|           progress_animation->frame_area.y = 0;
#   97|           progress_animation->frame_area.width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def468]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   94|           progress_animation->area.height = 0;
#   95|           progress_animation->frame_area.x = 0;
#   96|->         progress_animation->frame_area.y = 0;
#   97|           progress_animation->frame_area.width = 0;
#   98|           progress_animation->frame_area.height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def469]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:97: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   95|           progress_animation->frame_area.x = 0;
#   96|           progress_animation->frame_area.y = 0;
#   97|->         progress_animation->frame_area.width = 0;
#   98|           progress_animation->frame_area.height = 0;
#   99|           progress_animation->previous_frame_number = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def470]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:98: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   96|           progress_animation->frame_area.y = 0;
#   97|           progress_animation->frame_area.width = 0;
#   98|->         progress_animation->frame_area.height = 0;
#   99|           progress_animation->previous_frame_number = 0;
#  100|           progress_animation->last_rendered_frame = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def471]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   97|           progress_animation->frame_area.width = 0;
#   98|           progress_animation->frame_area.height = 0;
#   99|->         progress_animation->previous_frame_number = 0;
#  100|           progress_animation->last_rendered_frame = NULL;
#  101|   

Error: CPPCHECK_WARNING (CWE-476): [#def472]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-animation.c:100: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_animation
#   98|           progress_animation->frame_area.height = 0;
#   99|           progress_animation->previous_frame_number = 0;
#  100|->         progress_animation->last_rendered_frame = NULL;
#  101|   
#  102|           return progress_animation;

Error: COMPILER_WARNING (CWE-252): [#def473]
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/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: CPPCHECK_WARNING (CWE-476): [#def474]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def475]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:72:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress_bar’
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:70:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:72:9: danger: ‘progress_bar’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def476]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   71|   
#   72|           progress_bar->is_hidden = true;
#   73|->         progress_bar->fg_color = 0xffffffff; /* Solid white */
#   74|           progress_bar->bg_color = 0x01000000; /* Transparent */
#   75|           progress_bar->fraction_done = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def477]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:74: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   72|           progress_bar->is_hidden = true;
#   73|           progress_bar->fg_color = 0xffffffff; /* Solid white */
#   74|->         progress_bar->bg_color = 0x01000000; /* Transparent */
#   75|           progress_bar->fraction_done = 0.0;
#   76|   

Error: CPPCHECK_WARNING (CWE-476): [#def478]
plymouth-24.004.60/src/libply-splash-graphics/ply-progress-bar.c:75: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress_bar
#   73|           progress_bar->fg_color = 0xffffffff; /* Solid white */
#   74|           progress_bar->bg_color = 0x01000000; /* Transparent */
#   75|->         progress_bar->fraction_done = 0.0;
#   76|   
#   77|           return progress_bar;

Error: CPPCHECK_WARNING (CWE-476): [#def479]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   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: GCC_ANALYZER_WARNING (CWE-476): [#def480]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘throbber’
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:89:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:90:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:90:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:92:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:92:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94:9: danger: ‘throbber’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   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: GCC_ANALYZER_WARNING (CWE-401): [#def481]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94:28: warning[-Wanalyzer-malloc-leak]: leak of ‘throbber’
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:89:9: branch_true: following ‘true’ branch (when ‘image_dir’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:90:9: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:90:9: branch_true: following ‘true’ branch (when ‘frames_prefix’ is non-NULL)...
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:92:20: branch_true: ...to here
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:92:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:94:28: danger: ‘throbber’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   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: CPPCHECK_WARNING (CWE-476): [#def482]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:95: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   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);
#   97|           throbber->is_stopped = true;

Error: CPPCHECK_WARNING (CWE-476): [#def483]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   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);
#   97|           throbber->is_stopped = true;
#   98|           throbber->width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def484]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:97: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   95|           throbber->frames_prefix = strdup (frames_prefix);
#   96|           throbber->image_dir = strdup (image_dir);
#   97|->         throbber->is_stopped = true;
#   98|           throbber->width = 0;
#   99|           throbber->height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def485]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:98: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   96|           throbber->image_dir = strdup (image_dir);
#   97|           throbber->is_stopped = true;
#   98|->         throbber->width = 0;
#   99|           throbber->height = 0;
#  100|           throbber->frame_area.width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def486]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   97|           throbber->is_stopped = true;
#   98|           throbber->width = 0;
#   99|->         throbber->height = 0;
#  100|           throbber->frame_area.width = 0;
#  101|           throbber->frame_area.height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def487]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:100: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   98|           throbber->width = 0;
#   99|           throbber->height = 0;
#  100|->         throbber->frame_area.width = 0;
#  101|           throbber->frame_area.height = 0;
#  102|           throbber->frame_area.x = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def488]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:101: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#   99|           throbber->height = 0;
#  100|           throbber->frame_area.width = 0;
#  101|->         throbber->frame_area.height = 0;
#  102|           throbber->frame_area.x = 0;
#  103|           throbber->frame_area.y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def489]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:102: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#  100|           throbber->frame_area.width = 0;
#  101|           throbber->frame_area.height = 0;
#  102|->         throbber->frame_area.x = 0;
#  103|           throbber->frame_area.y = 0;
#  104|           throbber->frame_number = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def490]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:103: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#  101|           throbber->frame_area.height = 0;
#  102|           throbber->frame_area.x = 0;
#  103|->         throbber->frame_area.y = 0;
#  104|           throbber->frame_number = 0;
#  105|   

Error: CPPCHECK_WARNING (CWE-476): [#def491]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c:104: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: throbber
#  102|           throbber->frame_area.x = 0;
#  103|           throbber->frame_area.y = 0;
#  104|->         throbber->frame_number = 0;
#  105|   
#  106|           return throbber;

Error: COMPILER_WARNING (CWE-252): [#def492]
plymouth-24.004.60/src/libply-splash-graphics/ply-throbber.c: scope_hint: In function ‘ply_throbber_add_frames’
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: CPPCHECK_WARNING (CWE-476): [#def493]
plymouth-24.004.60/src/libply/ply-array.c:47: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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-476): [#def494]
plymouth-24.004.60/src/libply/ply-array.c:47:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘array’
plymouth-24.004.60/src/libply/ply-array.c:45:17: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-array.c:47:9: danger: ‘array’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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-401): [#def495]
plymouth-24.004.60/src/libply/ply-array.c:47:25: warning[-Wanalyzer-malloc-leak]: leak of ‘array’
plymouth-24.004.60/src/libply/ply-array.c:45:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-array.c:47:25: danger: ‘array’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   45|           array = calloc (1, sizeof(ply_array_t));
#   46|   
#   47|->         array->buffer = ply_buffer_new ();
#   48|           array->element_type = element_type;
#   49|   

Error: CPPCHECK_WARNING (CWE-476): [#def496]
plymouth-24.004.60/src/libply/ply-array.c:48: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: array
#   46|   
#   47|           array->buffer = ply_buffer_new ();
#   48|->         array->element_type = element_type;
#   49|   
#   50|           switch (array->element_type) {

Error: CPPCHECK_WARNING (CWE-476): [#def497]
plymouth-24.004.60/src/libply/ply-array.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: array
#   48|           array->element_type = element_type;
#   49|   
#   50|->         switch (array->element_type) {
#   51|           case PLY_ARRAY_ELEMENT_TYPE_POINTER:
#   52|                   ply_buffer_append_bytes (array->buffer, &pointer_terminator, sizeof(pointer_terminator));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def498]
plymouth-24.004.60/src/libply/ply-array.c:52:17: warning[-Wanalyzer-malloc-leak]: leak of ‘array’
plymouth-24.004.60/src/libply/ply-array.c:45:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-array.c:52:17: danger: ‘array’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   50|           switch (array->element_type) {
#   51|           case PLY_ARRAY_ELEMENT_TYPE_POINTER:
#   52|->                 ply_buffer_append_bytes (array->buffer, &pointer_terminator, sizeof(pointer_terminator));
#   53|                   break;
#   54|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def499]
plymouth-24.004.60/src/libply/ply-array.c:56:17: warning[-Wanalyzer-malloc-leak]: leak of ‘array’
plymouth-24.004.60/src/libply/ply-array.c:45:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-array.c:56:17: danger: ‘array’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   54|   
#   55|           case PLY_ARRAY_ELEMENT_TYPE_UINT32:
#   56|->                 ply_buffer_append_bytes (array->buffer, &uint32_terminator, sizeof(uint32_terminator));
#   57|                   break;
#   58|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def500]
plymouth-24.004.60/src/libply/ply-buffer.c:84:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
plymouth-24.004.60/src/libply/ply-buffer.c:177:1: enter_function: entry to ‘ply_buffer_append_bytes’
plymouth-24.004.60/src/libply/ply-buffer.c:194:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: call_function: calling ‘ply_buffer_increase_capacity’ from ‘ply_buffer_append_bytes’
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: return_function: returning to ‘ply_buffer_append_bytes’ from ‘ply_buffer_increase_capacity’
plymouth-24.004.60/src/libply/ply-buffer.c:195:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
plymouth-24.004.60/src/libply/ply-buffer.c:194:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: call_function: calling ‘ply_buffer_increase_capacity’ from ‘ply_buffer_append_bytes’
plymouth-24.004.60/src/libply/ply-buffer.c:195:22: return_function: returning to ‘ply_buffer_append_bytes’ from ‘ply_buffer_increase_capacity’
plymouth-24.004.60/src/libply/ply-buffer.c:196:25: call_function: calling ‘ply_buffer_remove_bytes’ from ‘ply_buffer_append_bytes’
#   82|                   buffer->size -= bytes_to_remove;
#   83|           }
#   84|->         buffer->data[buffer->size] = '\0';
#   85|   }
#   86|   

Error: CPPCHECK_WARNING (CWE-476): [#def501]
plymouth-24.004.60/src/libply/ply-buffer.c:106: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  104|           buffer = calloc (1, sizeof(ply_buffer_t));
#  105|   
#  106|->         buffer->capacity = 4096;
#  107|           buffer->data = calloc (1, buffer->capacity);
#  108|           buffer->size = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def502]
plymouth-24.004.60/src/libply/ply-buffer.c:107: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  105|   
#  106|           buffer->capacity = 4096;
#  107|->         buffer->data = calloc (1, buffer->capacity);
#  108|           buffer->size = 0;
#  109|   

Error: CPPCHECK_WARNING (CWE-476): [#def503]
plymouth-24.004.60/src/libply/ply-buffer.c:108: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  106|           buffer->capacity = 4096;
#  107|           buffer->data = calloc (1, buffer->capacity);
#  108|->         buffer->size = 0;
#  109|   
#  110|           return buffer;

Error: COMPILER_WARNING (CWE-563): [#def504]
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.h:29: included_from: Included from here.
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:22: included_from: Included from here.
plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c: scope_hint: In function ‘process_backspace’
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/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: CPPCHECK_WARNING (CWE-476): [#def505]
plymouth-24.004.60/src/libply/ply-command-parser.c:87: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: option
#   85|           option = calloc (1, sizeof(ply_command_option_t));
#   86|   
#   87|->         option->name = strdup (name);
#   88|           option->description = strdup (description);
#   89|           option->type = type;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def506]
plymouth-24.004.60/src/libply/ply-command-parser.c:87:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘option’
plymouth-24.004.60/src/libply/ply-command-parser.c:85:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-command-parser.c:87:9: danger: ‘option’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   85|           option = calloc (1, sizeof(ply_command_option_t));
#   86|   
#   87|->         option->name = strdup (name);
#   88|           option->description = strdup (description);
#   89|           option->type = type;

Error: CPPCHECK_WARNING (CWE-476): [#def507]
plymouth-24.004.60/src/libply/ply-command-parser.c:88: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: option
#   86|   
#   87|           option->name = strdup (name);
#   88|->         option->description = strdup (description);
#   89|           option->type = type;
#   90|   

Error: CPPCHECK_WARNING (CWE-476): [#def508]
plymouth-24.004.60/src/libply/ply-command-parser.c:89: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: option
#   87|           option->name = strdup (name);
#   88|           option->description = strdup (description);
#   89|->         option->type = type;
#   90|   
#   91|           return option;

Error: CPPCHECK_WARNING (CWE-476): [#def509]
plymouth-24.004.60/src/libply/ply-command-parser.c:115: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  113|           command = calloc (1, sizeof(ply_command_t));
#  114|   
#  115|->         command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def510]
plymouth-24.004.60/src/libply/ply-command-parser.c:115:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command’
plymouth-24.004.60/src/libply/ply-command-parser.c:113:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-command-parser.c:115:9: danger: ‘command’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  113|           command = calloc (1, sizeof(ply_command_t));
#  114|   
#  115|->         command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def511]
plymouth-24.004.60/src/libply/ply-command-parser.c:115:28: warning[-Wanalyzer-malloc-leak]: leak of ‘command_parser’
plymouth-24.004.60/src/libply/ply-command-parser.c:342:1: enter_function: entry to ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:347:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_new’
#  113|           command = calloc (1, sizeof(ply_command_t));
#  114|   
#  115|->         command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def512]
plymouth-24.004.60/src/libply/ply-command-parser.c:115:28: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/libply/ply-command-parser.c:113:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:115:28: danger: ‘command’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  113|           command = calloc (1, sizeof(ply_command_t));
#  114|   
#  115|->         command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def513]
plymouth-24.004.60/src/libply/ply-command-parser.c:116: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  114|   
#  115|           command->options = ply_list_new ();
#  116|->         command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);

Error: CPPCHECK_WARNING (CWE-476): [#def514]
plymouth-24.004.60/src/libply/ply-command-parser.c:117: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  115|           command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|->         command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);
#  119|           command->handler = handler;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def515]
plymouth-24.004.60/src/libply/ply-command-parser.c:117:28: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:116:25: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:117:28: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  115|           command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|->         command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);
#  119|           command->handler = handler;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def516]
plymouth-24.004.60/src/libply/ply-command-parser.c:117:28: warning[-Wanalyzer-malloc-leak]: leak of ‘command_parser’
plymouth-24.004.60/src/libply/ply-command-parser.c:342:1: enter_function: entry to ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:347:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_new’
#  115|           command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|->         command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);
#  119|           command->handler = handler;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def517]
plymouth-24.004.60/src/libply/ply-command-parser.c:117:28: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/libply/ply-command-parser.c:113:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:117:28: danger: ‘command’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  115|           command->options = ply_list_new ();
#  116|           command->name = strdup (name);
#  117|->         command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);
#  119|           command->handler = handler;

Error: CPPCHECK_WARNING (CWE-476): [#def518]
plymouth-24.004.60/src/libply/ply-command-parser.c:118: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  116|           command->name = strdup (name);
#  117|           command->aliases = ply_list_new ();
#  118|->         command->description = strdup (description);
#  119|           command->handler = handler;
#  120|           command->handler_data = data;

Error: CPPCHECK_WARNING (CWE-476): [#def519]
plymouth-24.004.60/src/libply/ply-command-parser.c:119: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  117|           command->aliases = ply_list_new ();
#  118|           command->description = strdup (description);
#  119|->         command->handler = handler;
#  120|           command->handler_data = data;
#  121|   

Error: CPPCHECK_WARNING (CWE-476): [#def520]
plymouth-24.004.60/src/libply/ply-command-parser.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command
#  118|           command->description = strdup (description);
#  119|           command->handler = handler;
#  120|->         command->handler_data = data;
#  121|   
#  122|           return command;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def521]
plymouth-24.004.60/src/libply/ply-command-parser.c:306:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:411:1: enter_function: entry to ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:427:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: return_function: returning to ‘ply_command_parser_add_command’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:434:16: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:435:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:438:17: call_function: calling ‘ply_command_add_option’ from ‘ply_command_parser_add_command’
#  304|           option = ply_command_option_new (name, description, type);
#  305|   
#  306|->         ply_list_append_data (command->options, option);
#  307|   
#  308|           command->longest_option_length = MAX (command->longest_option_length,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def522]
plymouth-24.004.60/src/libply/ply-command-parser.c:306:9: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_command_new(name,  description,  handler,  handler_data)’
plymouth-24.004.60/src/libply/ply-command-parser.c:411:1: enter_function: entry to ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:427:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: return_function: returning to ‘ply_command_parser_add_command’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:434:16: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:435:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:438:17: call_function: calling ‘ply_command_add_option’ from ‘ply_command_parser_add_command’
#  304|           option = ply_command_option_new (name, description, type);
#  305|   
#  306|->         ply_list_append_data (command->options, option);
#  307|   
#  308|           command->longest_option_length = MAX (command->longest_option_length,

Error: GCC_ANALYZER_WARNING (CWE-404): [#def523]
plymouth-24.004.60/src/libply/ply-command-parser.c:306:9: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
plymouth-24.004.60/src/libply/ply-command-parser.c:383:1: enter_function: entry to ‘ply_command_parser_add_options’
plymouth-24.004.60/src/libply/ply-command-parser.c:394:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:397:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:397:9: acquire_resource: ‘va_start’ called here
plymouth-24.004.60/src/libply/ply-command-parser.c:398:16: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:399:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:402:17: call_function: calling ‘ply_command_add_option’ from ‘ply_command_parser_add_options’
#  304|           option = ply_command_option_new (name, description, type);
#  305|   
#  306|->         ply_list_append_data (command->options, option);
#  307|   
#  308|           command->longest_option_length = MAX (command->longest_option_length,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def524]
plymouth-24.004.60/src/libply/ply-command-parser.c:308:42: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:297:1: enter_function: entry to ‘ply_command_add_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:304:18: call_function: calling ‘ply_command_option_new’ from ‘ply_command_add_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:304:18: return_function: returning to ‘ply_command_add_option’ from ‘ply_command_option_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:308:42: danger: ‘<unknown>’ leaks here; was allocated at [(4)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/3)
#  306|           ply_list_append_data (command->options, option);
#  307|   
#  308|->         command->longest_option_length = MAX (command->longest_option_length,
#  309|                                                 strlen (name)
#  310|                                                 + 1

Error: GCC_ANALYZER_WARNING (CWE-401): [#def525]
plymouth-24.004.60/src/libply/ply-command-parser.c:308:42: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_command_option_new(name,  description,  type)’
plymouth-24.004.60/src/libply/ply-command-parser.c:297:1: enter_function: entry to ‘ply_command_add_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:304:18: call_function: calling ‘ply_command_option_new’ from ‘ply_command_add_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:304:18: return_function: returning to ‘ply_command_add_option’ from ‘ply_command_option_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:308:42: danger: ‘ply_command_option_new(name,  description,  type)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/3)
#  306|           ply_list_append_data (command->options, option);
#  307|   
#  308|->         command->longest_option_length = MAX (command->longest_option_length,
#  309|                                                 strlen (name)
#  310|                                                 + 1

Error: GCC_ANALYZER_WARNING (CWE-401): [#def526]
plymouth-24.004.60/src/libply/ply-command-parser.c:322:16: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
plymouth-24.004.60/src/libply/ply-command-parser.c:781:1: enter_function: entry to ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:792:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:795:35: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:797:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:799:14: call_function: inlined call to ‘argument_is_option’ from ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:802:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:805:12: branch_false: following ‘false’ branch (when ‘option_separator’ is NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: call_function: calling ‘ply_command_get_option’ from ‘ply_command_read_option’
#  320|   
#  321|           option = NULL;
#  322|->         node = ply_list_get_first_node (command->options);
#  323|           while (node != NULL) {
#  324|                   ply_list_node_t *next_node;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def527]
plymouth-24.004.60/src/libply/ply-command-parser.c:322:16: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
plymouth-24.004.60/src/libply/ply-command-parser.c:601:1: enter_function: entry to ‘ply_command_parser_get_options’
plymouth-24.004.60/src/libply/ply-command-parser.c:609:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: acquire_resource: ‘va_start’ called here
plymouth-24.004.60/src/libply/ply-command-parser.c:613:9: call_function: calling ‘ply_command_parser_get_options_for_command’ from ‘ply_command_parser_get_options’
#  320|   
#  321|           option = NULL;
#  322|->         node = ply_list_get_first_node (command->options);
#  323|           while (node != NULL) {
#  324|                   ply_list_node_t *next_node;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def528]
plymouth-24.004.60/src/libply/ply-command-parser.c:326:51: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
plymouth-24.004.60/src/libply/ply-command-parser.c:781:1: enter_function: entry to ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:792:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:795:35: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:797:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:799:14: call_function: inlined call to ‘argument_is_option’ from ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:802:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:805:12: branch_false: following ‘false’ branch (when ‘option_separator’ is NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: call_function: calling ‘ply_command_get_option’ from ‘ply_command_read_option’
#  324|                   ply_list_node_t *next_node;
#  325|   
#  326|->                 option = (ply_command_option_t *) ply_list_node_get_data (node);
#  327|                   next_node = ply_list_get_next_node (command->options, node);
#  328|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def529]
plymouth-24.004.60/src/libply/ply-command-parser.c:326:51: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
plymouth-24.004.60/src/libply/ply-command-parser.c:601:1: enter_function: entry to ‘ply_command_parser_get_options’
plymouth-24.004.60/src/libply/ply-command-parser.c:609:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: acquire_resource: ‘va_start’ called here
plymouth-24.004.60/src/libply/ply-command-parser.c:613:9: call_function: calling ‘ply_command_parser_get_options_for_command’ from ‘ply_command_parser_get_options’
#  324|                   ply_list_node_t *next_node;
#  325|   
#  326|->                 option = (ply_command_option_t *) ply_list_node_get_data (node);
#  327|                   next_node = ply_list_get_next_node (command->options, node);
#  328|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def530]
plymouth-24.004.60/src/libply/ply-command-parser.c:327:29: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
plymouth-24.004.60/src/libply/ply-command-parser.c:781:1: enter_function: entry to ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:792:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:795:35: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:797:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:799:14: call_function: inlined call to ‘argument_is_option’ from ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:802:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:805:12: branch_false: following ‘false’ branch (when ‘option_separator’ is NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:814:18: call_function: calling ‘ply_command_get_option’ from ‘ply_command_read_option’
#  325|   
#  326|                   option = (ply_command_option_t *) ply_list_node_get_data (node);
#  327|->                 next_node = ply_list_get_next_node (command->options, node);
#  328|   
#  329|                   if (strcmp (option_name, option->name) == 0)

Error: GCC_ANALYZER_WARNING (CWE-404): [#def531]
plymouth-24.004.60/src/libply/ply-command-parser.c:327:29: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
plymouth-24.004.60/src/libply/ply-command-parser.c:601:1: enter_function: entry to ‘ply_command_parser_get_options’
plymouth-24.004.60/src/libply/ply-command-parser.c:609:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:610:9: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:612:9: acquire_resource: ‘va_start’ called here
plymouth-24.004.60/src/libply/ply-command-parser.c:613:9: call_function: calling ‘ply_command_parser_get_options_for_command’ from ‘ply_command_parser_get_options’
#  325|   
#  326|                   option = (ply_command_option_t *) ply_list_node_get_data (node);
#  327|->                 next_node = ply_list_get_next_node (command->options, node);
#  328|   
#  329|                   if (strcmp (option_name, option->name) == 0)

Error: CPPCHECK_WARNING (CWE-476): [#def532]
plymouth-24.004.60/src/libply/ply-command-parser.c:349: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command_parser
#  347|           command_parser = calloc (1, sizeof(ply_command_parser_t));
#  348|   
#  349|->         command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|           command_parser->available_subcommands = ply_list_new ();
#  351|           command_parser->read_subcommands = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def533]
plymouth-24.004.60/src/libply/ply-command-parser.c:349:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_parser’
plymouth-24.004.60/src/libply/ply-command-parser.c:347:26: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-command-parser.c:349:9: danger: ‘command_parser’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  347|           command_parser = calloc (1, sizeof(ply_command_parser_t));
#  348|   
#  349|->         command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|           command_parser->available_subcommands = ply_list_new ();
#  351|           command_parser->read_subcommands = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def534]
plymouth-24.004.60/src/libply/ply-command-parser.c:350: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command_parser
#  348|   
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|->         command_parser->available_subcommands = ply_list_new ();
#  351|           command_parser->read_subcommands = ply_list_new ();
#  352|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def535]
plymouth-24.004.60/src/libply/ply-command-parser.c:350:49: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:342:1: enter_function: entry to ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: return_function: returning to ‘ply_command_parser_new’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:350:49: danger: ‘<unknown>’ leaks here; was allocated at [(4)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/3)
#  348|   
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|->         command_parser->available_subcommands = ply_list_new ();
#  351|           command_parser->read_subcommands = ply_list_new ();
#  352|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def536]
plymouth-24.004.60/src/libply/ply-command-parser.c:350:49: warning[-Wanalyzer-malloc-leak]: leak of ‘command_parser’
plymouth-24.004.60/src/libply/ply-command-parser.c:347:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:350:49: danger: ‘command_parser’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  348|   
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|->         command_parser->available_subcommands = ply_list_new ();
#  351|           command_parser->read_subcommands = ply_list_new ();
#  352|   

Error: CPPCHECK_WARNING (CWE-476): [#def537]
plymouth-24.004.60/src/libply/ply-command-parser.c:351: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: command_parser
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|           command_parser->available_subcommands = ply_list_new ();
#  351|->         command_parser->read_subcommands = ply_list_new ();
#  352|   
#  353|           return command_parser;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def538]
plymouth-24.004.60/src/libply/ply-command-parser.c:351:44: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:342:1: enter_function: entry to ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:349:40: return_function: returning to ‘ply_command_parser_new’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:351:44: danger: ‘<unknown>’ leaks here; was allocated at [(4)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/3)
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|           command_parser->available_subcommands = ply_list_new ();
#  351|->         command_parser->read_subcommands = ply_list_new ();
#  352|   
#  353|           return command_parser;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def539]
plymouth-24.004.60/src/libply/ply-command-parser.c:351:44: warning[-Wanalyzer-malloc-leak]: leak of ‘command_parser’
plymouth-24.004.60/src/libply/ply-command-parser.c:347:26: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:351:44: danger: ‘command_parser’ leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  349|           command_parser->main_command = ply_command_new (name, description, NULL, NULL);
#  350|           command_parser->available_subcommands = ply_list_new ();
#  351|->         command_parser->read_subcommands = ply_list_new ();
#  352|   
#  353|           return command_parser;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def540]
plymouth-24.004.60/src/libply/ply-command-parser.c:446:42: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:411:1: enter_function: entry to ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:427:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: return_function: returning to ‘ply_command_parser_add_command’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:434:16: branch_false: following ‘false’ branch (when ‘option_name’ is NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:442:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:446:42: danger: ‘<unknown>’ leaks here; was allocated at [(8)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/7)
#  444|           ply_list_append_data (parser->available_subcommands, command);
#  445|   
#  446|->         parser->longest_command_length = MAX (parser->longest_command_length, strlen (name));
#  447|   }
#  448|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def541]
plymouth-24.004.60/src/libply/ply-command-parser.c:446:42: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_command_new(name,  description,  handler,  handler_data)’
plymouth-24.004.60/src/libply/ply-command-parser.c:411:1: enter_function: entry to ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:427:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:428:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: call_function: calling ‘ply_command_new’ from ‘ply_command_parser_add_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:430:19: return_function: returning to ‘ply_command_parser_add_command’ from ‘ply_command_new’
plymouth-24.004.60/src/libply/ply-command-parser.c:434:16: branch_false: following ‘false’ branch (when ‘option_name’ is NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:442:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:446:42: danger: ‘ply_command_new(name,  description,  handler,  handler_data)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/7)
#  444|           ply_list_append_data (parser->available_subcommands, command);
#  445|   
#  446|->         parser->longest_command_length = MAX (parser->longest_command_length, strlen (name));
#  447|   }
#  448|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def542]
plymouth-24.004.60/src/libply/ply-command-parser.c:512:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
plymouth-24.004.60/src/libply/ply-command-parser.c:507:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:508:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:508:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:509:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:509:9: branch_true: following ‘true’ branch (when ‘alias’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:511:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:512:9: danger: dereference of NULL ‘ply_command_parser_get_command(parser,  name)’
#  510|   
#  511|           command = ply_command_parser_get_command (parser, name);
#  512|->         ply_list_append_data (command->aliases, strdup (alias));
#  513|   }
#  514|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def543]
plymouth-24.004.60/src/libply/ply-command-parser.c:513:1: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(alias)’
plymouth-24.004.60/src/libply/ply-command-parser.c:501:6: enter_function: entry to ‘ply_command_parser_add_command_alias’
plymouth-24.004.60/src/libply/ply-command-parser.c:507:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:508:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:508:9: branch_true: following ‘true’ branch (when ‘name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:509:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:509:9: branch_true: following ‘true’ branch (when ‘alias’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:511:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:511:19: call_function: calling ‘ply_command_parser_get_command’ from ‘ply_command_parser_add_command_alias’
plymouth-24.004.60/src/libply/ply-command-parser.c:511:19: return_function: returning to ‘ply_command_parser_add_command_alias’ from ‘ply_command_parser_get_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:512:49: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:513:1: danger: ‘strdup(alias)’ leaks here; was allocated at [(13)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/12)
#  511|           command = ply_command_parser_get_command (parser, name);
#  512|           ply_list_append_data (command->aliases, strdup (alias));
#  513|-> }
#  514|   
#  515|   static void

Error: GCC_ANALYZER_WARNING (CWE-401): [#def544]
plymouth-24.004.60/src/libply/ply-command-parser.c:572:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-command-parser.c:560:1: enter_function: entry to ‘ply_command_parser_get_options_for_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:565:9: branch_true: following ‘true’ branch (when ‘parser’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:566:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:566:9: branch_true: following ‘true’ branch (when ‘command’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:567:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:567:9: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
 branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:569:16: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:572:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:574:17: call_function: calling ‘ply_command_parser_get_option_for_command’ from ‘ply_command_parser_get_options_for_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:574:17: return_function: returning to ‘ply_command_parser_get_options_for_command’ from ‘ply_command_parser_get_option_for_command’
plymouth-24.004.60/src/libply/ply-command-parser.c:569:16: branch_true: following ‘true’ branch (when ‘option_name’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:572:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:572:17: danger: ‘<unknown>’ leaks here; was allocated at [(27)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/26)
#  570|                   void *option_result;
#  571|   
#  572|->                 option_result = va_arg (args, void *);
#  573|   
#  574|                   ply_command_parser_get_option_for_command (parser,

Error: CPPCHECK_WARNING (CWE-476): [#def545]
plymouth-24.004.60/src/libply/ply-command-parser.c:803: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: option_name
#  801|   
#  802|           option_name = strdup (argument + strlen ("--"));
#  803|->         option_separator = strchr (option_name, '=');
#  804|   
#  805|           if (option_separator != NULL) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def546]
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/src/libply/ply-command-parser.c:781:1: enter_function: entry to ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:792:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:795:35: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:797:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:799:14: call_function: inlined call to ‘argument_is_option’ from ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:802:23: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-command-parser.c:803:28: danger: argument 1 (‘option_name’) from [(9)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/8) could be NULL where non-null expected
#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-401): [#def547]
plymouth-24.004.60/src/libply/ply-command-parser.c:807:17: warning[-Wanalyzer-malloc-leak]: leak of ‘option_name’
plymouth-24.004.60/src/libply/ply-command-parser.c:781:1: enter_function: entry to ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:792:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:795:35: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:797:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-command-parser.c:799:14: call_function: inlined call to ‘argument_is_option’ from ‘ply_command_read_option’
plymouth-24.004.60/src/libply/ply-command-parser.c:802:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-command-parser.c:805:12: branch_true: following ‘true’ branch (when ‘option_separator’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-command-parser.c:806:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-command-parser.c:807:17: danger: ‘option_name’ leaks here; was allocated at [(9)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/8)
#  805|           if (option_separator != NULL) {
#  806|                   *option_separator = '\0';
#  807|->                 ply_list_insert_data (arguments,
#  808|                                         (void *) (argument +
#  809|                                                   ((ptrdiff_t) (option_separator - option_name + 1)) +

Error: CPPCHECK_WARNING (CWE-476): [#def548]
plymouth-24.004.60/src/libply/ply-event-loop.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  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): [#def549]
plymouth-24.004.60/src/libply/ply-event-loop.c:140:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:819:1: enter_function: entry to ‘ply_event_loop_watch_signal’
plymouth-24.004.60/src/libply/ply-event-loop.c:826:18: call_function: inlined call to ‘ply_signal_source_new’ from ‘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: CPPCHECK_WARNING (CWE-476): [#def550]
plymouth-24.004.60/src/libply/ply-event-loop.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  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;
#  143|           source->old_posix_signal_handler = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def551]
plymouth-24.004.60/src/libply/ply-event-loop.c:142: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  140|           source->signal_number = signal_number;
#  141|           source->handler = signal_handler;
#  142|->         source->user_data = user_data;
#  143|           source->old_posix_signal_handler = NULL;
#  144|   

Error: CPPCHECK_WARNING (CWE-476): [#def552]
plymouth-24.004.60/src/libply/ply-event-loop.c:143: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  141|           source->handler = signal_handler;
#  142|           source->user_data = user_data;
#  143|->         source->old_posix_signal_handler = NULL;
#  144|   
#  145|           return source;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def553]
plymouth-24.004.60/src/libply/ply-event-loop.c:162:14: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
#  160|           ply_signal_dispatcher_t *dispatcher;
#  161|   
#  162|->         if (!ply_open_unidirectional_pipe (&ply_signal_dispatcher_sender_fd,
#  163|                                              &ply_signal_dispatcher_receiver_fd))
#  164|                   return NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def554]
plymouth-24.004.60/src/libply/ply-event-loop.c:168: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dispatcher
#  166|           dispatcher = calloc (1, sizeof(ply_signal_dispatcher_t));
#  167|   
#  168|->         dispatcher->sources = ply_list_new ();
#  169|   
#  170|           return dispatcher;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def555]
plymouth-24.004.60/src/libply/ply-event-loop.c:168:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘dispatcher’
plymouth-24.004.60/src/libply/ply-event-loop.c:162:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:166:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:166:22: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-event-loop.c:168:9: danger: ‘dispatcher’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  166|           dispatcher = calloc (1, sizeof(ply_signal_dispatcher_t));
#  167|   
#  168|->         dispatcher->sources = ply_list_new ();
#  169|   
#  170|           return dispatcher;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def556]
plymouth-24.004.60/src/libply/ply-event-loop.c:168:31: warning[-Wanalyzer-malloc-leak]: leak of ‘dispatcher’
plymouth-24.004.60/src/libply/ply-event-loop.c:162:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:166:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:166:22: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:168:31: danger: ‘dispatcher’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  166|           dispatcher = calloc (1, sizeof(ply_signal_dispatcher_t));
#  167|   
#  168|->         dispatcher->sources = ply_list_new ();
#  169|   
#  170|           return dispatcher;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def557]
plymouth-24.004.60/src/libply/ply-event-loop.c:168:31: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
#  166|           dispatcher = calloc (1, sizeof(ply_signal_dispatcher_t));
#  167|   
#  168|->         dispatcher->sources = ply_list_new ();
#  169|   
#  170|           return dispatcher;

Error: CPPCHECK_WARNING (CWE-476): [#def558]
plymouth-24.004.60/src/libply/ply-event-loop.c:282: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: destination
#  280|           destination = calloc (1, sizeof(ply_event_destination_t));
#  281|   
#  282|->         destination->source = NULL;
#  283|           destination->status = status;
#  284|           destination->status_met_handler = status_met_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def559]
plymouth-24.004.60/src/libply/ply-event-loop.c:283: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: destination
#  281|   
#  282|           destination->source = NULL;
#  283|->         destination->status = status;
#  284|           destination->status_met_handler = status_met_handler;
#  285|           destination->disconnected_handler = disconnected_handler;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def560]
plymouth-24.004.60/src/libply/ply-event-loop.c:283:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘destination’
plymouth-24.004.60/src/libply/ply-event-loop.c:720:1: enter_function: entry to ‘ply_event_loop_watch_fd’
plymouth-24.004.60/src/libply/ply-event-loop.c:731:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:732:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:732:9: branch_true: following ‘true’ branch (when ‘fd >= 0’)...
plymouth-24.004.60/src/libply/ply-event-loop.c:733:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:733:9: branch_true: following ‘true’ branch (when ‘status <= 7’)...
plymouth-24.004.60/src/libply/ply-event-loop.c:734:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:734:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:736:18: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:736:18: call_function: calling ‘ply_event_loop_get_source_from_fd’ from ‘ply_event_loop_watch_fd’
plymouth-24.004.60/src/libply/ply-event-loop.c:736:18: return_function: returning to ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_get_source_from_fd’
plymouth-24.004.60/src/libply/ply-event-loop.c:739:23: call_function: inlined call to ‘ply_event_destination_new’ from ‘ply_event_loop_watch_fd’
#  281|   
#  282|           destination->source = NULL;
#  283|->         destination->status = status;
#  284|           destination->status_met_handler = status_met_handler;
#  285|           destination->disconnected_handler = disconnected_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def561]
plymouth-24.004.60/src/libply/ply-event-loop.c:284: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: destination
#  282|           destination->source = NULL;
#  283|           destination->status = status;
#  284|->         destination->status_met_handler = status_met_handler;
#  285|           destination->disconnected_handler = disconnected_handler;
#  286|           destination->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def562]
plymouth-24.004.60/src/libply/ply-event-loop.c:285: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: destination
#  283|           destination->status = status;
#  284|           destination->status_met_handler = status_met_handler;
#  285|->         destination->disconnected_handler = disconnected_handler;
#  286|           destination->user_data = user_data;
#  287|   

Error: CPPCHECK_WARNING (CWE-476): [#def563]
plymouth-24.004.60/src/libply/ply-event-loop.c:286: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: destination
#  284|           destination->status_met_handler = status_met_handler;
#  285|           destination->disconnected_handler = disconnected_handler;
#  286|->         destination->user_data = user_data;
#  287|   
#  288|           return destination;

Error: CPPCHECK_WARNING (CWE-476): [#def564]
plymouth-24.004.60/src/libply/ply-event-loop.c:306: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: watch
#  304|   
#  305|           watch = calloc (1, sizeof(ply_fd_watch_t));
#  306|->         watch->destination = destination;
#  307|   
#  308|           return watch;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def565]
plymouth-24.004.60/src/libply/ply-event-loop.c:306:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:413:1: enter_function: entry to ‘ply_event_loop_add_destination_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:420:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:421:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:421:9: branch_true: following ‘true’ branch (when ‘destination’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:422:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:422:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:423:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:423:9: branch_true: following ‘true’ branch (when ‘source’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:425:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:428:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:429:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:429:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: call_function: calling ‘ply_event_loop_update_source_event_mask’ from ‘ply_event_loop_add_destination_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: return_function: returning to ‘ply_event_loop_add_destination_for_source’ from ‘ply_event_loop_update_source_event_mask’
plymouth-24.004.60/src/libply/ply-event-loop.c:433:17: call_function: inlined call to ‘ply_fd_watch_new’ from ‘ply_event_loop_add_destination_for_source’
#  304|   
#  305|           watch = calloc (1, sizeof(ply_fd_watch_t));
#  306|->         watch->destination = destination;
#  307|   
#  308|           return watch;

Error: CPPCHECK_WARNING (CWE-476): [#def566]
plymouth-24.004.60/src/libply/ply-event-loop.c:331: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  329|           source = calloc (1, sizeof(ply_event_source_t));
#  330|   
#  331|->         source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def567]
plymouth-24.004.60/src/libply/ply-event-loop.c:331:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:329:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-event-loop.c:331:9: danger: ‘source’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  329|           source = calloc (1, sizeof(ply_event_source_t));
#  330|   
#  331|->         source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def568]
plymouth-24.004.60/src/libply/ply-event-loop.c:332: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  330|   
#  331|           source->fd = fd;
#  332|->         source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def569]
plymouth-24.004.60/src/libply/ply-event-loop.c:332:32: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  330|   
#  331|           source->fd = fd;
#  332|->         source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def570]
plymouth-24.004.60/src/libply/ply-event-loop.c:332:32: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  330|   
#  331|           source->fd = fd;
#  332|->         source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def571]
plymouth-24.004.60/src/libply/ply-event-loop.c:332:32: warning[-Wanalyzer-malloc-leak]: leak of ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:329:18: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:332:32: danger: ‘source’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  330|   
#  331|           source->fd = fd;
#  332|->         source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;

Error: CPPCHECK_WARNING (CWE-476): [#def572]
plymouth-24.004.60/src/libply/ply-event-loop.c:333: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  331|           source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|->         source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;
#  335|           source->is_disconnected = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def573]
plymouth-24.004.60/src/libply/ply-event-loop.c:333:30: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  331|           source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|->         source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;
#  335|           source->is_disconnected = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def574]
plymouth-24.004.60/src/libply/ply-event-loop.c:333:30: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  331|           source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|->         source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;
#  335|           source->is_disconnected = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def575]
plymouth-24.004.60/src/libply/ply-event-loop.c:333:30: warning[-Wanalyzer-malloc-leak]: leak of ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:329:18: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:333:30: danger: ‘source’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  331|           source->fd = fd;
#  332|           source->destinations = ply_list_new ();
#  333|->         source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;
#  335|           source->is_disconnected = false;

Error: CPPCHECK_WARNING (CWE-476): [#def576]
plymouth-24.004.60/src/libply/ply-event-loop.c:334: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  332|           source->destinations = ply_list_new ();
#  333|           source->fd_watches = ply_list_new ();
#  334|->         source->is_getting_polled = false;
#  335|           source->is_disconnected = false;
#  336|           source->reference_count = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def577]
plymouth-24.004.60/src/libply/ply-event-loop.c:335: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  333|           source->fd_watches = ply_list_new ();
#  334|           source->is_getting_polled = false;
#  335|->         source->is_disconnected = false;
#  336|           source->reference_count = 0;
#  337|   

Error: CPPCHECK_WARNING (CWE-476): [#def578]
plymouth-24.004.60/src/libply/ply-event-loop.c:336: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: source
#  334|           source->is_getting_polled = false;
#  335|           source->is_disconnected = false;
#  336|->         source->reference_count = 0;
#  337|   
#  338|           return source;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def579]
plymouth-24.004.60/src/libply/ply-event-loop.c:436:9: warning[-Wanalyzer-malloc-leak]: leak of ‘watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:413:1: enter_function: entry to ‘ply_event_loop_add_destination_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:420:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:421:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:421:9: branch_true: following ‘true’ branch (when ‘destination’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:422:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:422:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:423:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:423:9: branch_true: following ‘true’ branch (when ‘source’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:425:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:428:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:429:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:429:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: call_function: calling ‘ply_event_loop_update_source_event_mask’ from ‘ply_event_loop_add_destination_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:431:9: return_function: returning to ‘ply_event_loop_add_destination_for_source’ from ‘ply_event_loop_update_source_event_mask’
plymouth-24.004.60/src/libply/ply-event-loop.c:433:17: call_function: inlined call to ‘ply_fd_watch_new’ from ‘ply_event_loop_add_destination_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:436:9: danger: ‘watch’ leaks here; was allocated at [(24)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/23)
#  434|   
#  435|           ply_event_source_take_reference (source);
#  436|->         ply_list_append_data (source->fd_watches, watch);
#  437|   
#  438|           return watch;

Error: GCC_ANALYZER_WARNING (CWE-416): [#def580]
plymouth-24.004.60/src/libply/ply-event-loop.c:474:9: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:457:1: enter_function: entry to ‘ply_event_loop_remove_destination_by_fd_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:463:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:464:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:464:9: branch_true: following ‘true’ branch (when ‘watch’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:466:23: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:466:23: call_function: calling ‘ply_event_loop_get_destination_from_fd_watch’ from ‘ply_event_loop_remove_destination_by_fd_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:466:23: return_function: returning to ‘ply_event_loop_remove_destination_by_fd_watch’ from ‘ply_event_loop_get_destination_from_fd_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:470:9: branch_true: following ‘true’ branch (when ‘source’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:472:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:473:9: call_function: calling ‘ply_event_source_drop_reference’ from ‘ply_event_loop_remove_destination_by_fd_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:473:9: return_function: returning to ‘ply_event_loop_remove_destination_by_fd_watch’ from ‘ply_event_source_drop_reference’
plymouth-24.004.60/src/libply/ply-event-loop.c:474:9: danger: use after ‘free’ of ‘source’; freed at [(31)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/30)
#  472|           ply_list_remove_data (source->destinations, destination);
#  473|           ply_event_source_drop_reference (source);
#  474|->         assert (ply_list_find_node (source->destinations, destination) == NULL);
#  475|           ply_event_loop_update_source_event_mask (loop, source);
#  476|   }

Error: CPPCHECK_WARNING (CWE-476): [#def581]
plymouth-24.004.60/src/libply/ply-event-loop.c:485: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  483|           loop = calloc (1, sizeof(ply_event_loop_t));
#  484|   
#  485|->         loop->epoll_fd = epoll_create1 (EPOLL_CLOEXEC);
#  486|           loop->wakeup_time = PLY_EVENT_LOOP_NO_TIMED_WAKEUP;
#  487|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def582]
plymouth-24.004.60/src/libply/ply-event-loop.c:485:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-event-loop.c:485:9: danger: ‘loop’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  483|           loop = calloc (1, sizeof(ply_event_loop_t));
#  484|   
#  485|->         loop->epoll_fd = epoll_create1 (EPOLL_CLOEXEC);
#  486|           loop->wakeup_time = PLY_EVENT_LOOP_NO_TIMED_WAKEUP;
#  487|   

Error: CPPCHECK_WARNING (CWE-476): [#def583]
plymouth-24.004.60/src/libply/ply-event-loop.c:486: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  484|   
#  485|           loop->epoll_fd = epoll_create1 (EPOLL_CLOEXEC);
#  486|->         loop->wakeup_time = PLY_EVENT_LOOP_NO_TIMED_WAKEUP;
#  487|   
#  488|           assert (loop->epoll_fd >= 0);

Error: CPPCHECK_WARNING (CWE-476): [#def584]
plymouth-24.004.60/src/libply/ply-event-loop.c:488: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  486|           loop->wakeup_time = PLY_EVENT_LOOP_NO_TIMED_WAKEUP;
#  487|   
#  488|->         assert (loop->epoll_fd >= 0);
#  489|   
#  490|           loop->should_exit = false;

Error: CPPCHECK_WARNING (CWE-476): [#def585]
plymouth-24.004.60/src/libply/ply-event-loop.c:490: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  488|           assert (loop->epoll_fd >= 0);
#  489|   
#  490|->         loop->should_exit = false;
#  491|           loop->is_running = false;
#  492|           loop->exit_code = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def586]
plymouth-24.004.60/src/libply/ply-event-loop.c:491: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  489|   
#  490|           loop->should_exit = false;
#  491|->         loop->is_running = false;
#  492|           loop->exit_code = 0;
#  493|   

Error: CPPCHECK_WARNING (CWE-476): [#def587]
plymouth-24.004.60/src/libply/ply-event-loop.c:492: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  490|           loop->should_exit = false;
#  491|           loop->is_running = false;
#  492|->         loop->exit_code = 0;
#  493|   
#  494|           loop->sources = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def588]
plymouth-24.004.60/src/libply/ply-event-loop.c:494: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  492|           loop->exit_code = 0;
#  493|   
#  494|->         loop->sources = ply_list_new ();
#  495|           loop->exit_closures = ply_list_new ();
#  496|           loop->timeout_watches = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def589]
plymouth-24.004.60/src/libply/ply-event-loop.c:494:25: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:494:25: danger: ‘loop’ leaks here; was allocated at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  492|           loop->exit_code = 0;
#  493|   
#  494|->         loop->sources = ply_list_new ();
#  495|           loop->exit_closures = ply_list_new ();
#  496|           loop->timeout_watches = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def590]
plymouth-24.004.60/src/libply/ply-event-loop.c:495: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  493|   
#  494|           loop->sources = ply_list_new ();
#  495|->         loop->exit_closures = ply_list_new ();
#  496|           loop->timeout_watches = ply_list_new ();
#  497|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def591]
plymouth-24.004.60/src/libply/ply-event-loop.c:495:31: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:495:31: danger: ‘loop’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  493|   
#  494|           loop->sources = ply_list_new ();
#  495|->         loop->exit_closures = ply_list_new ();
#  496|           loop->timeout_watches = ply_list_new ();
#  497|   

Error: CPPCHECK_WARNING (CWE-476): [#def592]
plymouth-24.004.60/src/libply/ply-event-loop.c:496: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  494|           loop->sources = ply_list_new ();
#  495|           loop->exit_closures = ply_list_new ();
#  496|->         loop->timeout_watches = ply_list_new ();
#  497|   
#  498|           loop->signal_dispatcher = ply_signal_dispatcher_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def593]
plymouth-24.004.60/src/libply/ply-event-loop.c:496:33: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:496:33: danger: ‘loop’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  494|           loop->sources = ply_list_new ();
#  495|           loop->exit_closures = ply_list_new ();
#  496|->         loop->timeout_watches = ply_list_new ();
#  497|   
#  498|           loop->signal_dispatcher = ply_signal_dispatcher_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def594]
plymouth-24.004.60/src/libply/ply-event-loop.c:498: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  496|           loop->timeout_watches = ply_list_new ();
#  497|   
#  498|->         loop->signal_dispatcher = ply_signal_dispatcher_new ();
#  499|   
#  500|           if (loop->signal_dispatcher == NULL) {

Error: CPPCHECK_WARNING (CWE-476): [#def595]
plymouth-24.004.60/src/libply/ply-event-loop.c:500: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  498|           loop->signal_dispatcher = ply_signal_dispatcher_new ();
#  499|   
#  500|->         if (loop->signal_dispatcher == NULL) {
#  501|                   ply_event_loop_free (loop);
#  502|                   return NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def596]
plymouth-24.004.60/src/libply/ply-event-loop.c:512: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: loop
#  510|                                    (ply_event_handler_t)
#  511|                                    ply_signal_dispatcher_reset_signal_sources,
#  512|->                                  loop->signal_dispatcher);
#  513|   
#  514|           return loop;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def597]
plymouth-24.004.60/src/libply/ply-event-loop.c:533:16: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  531|           ply_list_node_t *node;
#  532|   
#  533|->         node = ply_list_get_first_node (loop->exit_closures);
#  534|           while (node != NULL) {
#  535|                   ply_list_node_t *next_node;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def598]
plymouth-24.004.60/src/libply/ply-event-loop.c:538:61: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  536|                   ply_event_loop_exit_closure_t *closure;
#  537|   
#  538|->                 closure = (ply_event_loop_exit_closure_t *) ply_list_node_get_data (node);
#  539|                   next_node = ply_list_get_next_node (loop->exit_closures, node);
#  540|                   free (closure);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def599]
plymouth-24.004.60/src/libply/ply-event-loop.c:539:29: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  537|   
#  538|                   closure = (ply_event_loop_exit_closure_t *) ply_list_node_get_data (node);
#  539|->                 next_node = ply_list_get_next_node (loop->exit_closures, node);
#  540|                   free (closure);
#  541|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def600]
plymouth-24.004.60/src/libply/ply-event-loop.c:544:9: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  542|                   node = next_node;
#  543|           }
#  544|->         ply_list_free (loop->exit_closures);
#  545|   }
#  546|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def601]
plymouth-24.004.60/src/libply/ply-event-loop.c:579:9: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  577|           ply_event_loop_free_exit_closures (loop);
#  578|   
#  579|->         ply_list_free (loop->sources);
#  580|           ply_list_free (loop->timeout_watches);
#  581|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def602]
plymouth-24.004.60/src/libply/ply-event-loop.c:580:9: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  578|   
#  579|           ply_list_free (loop->sources);
#  580|->         ply_list_free (loop->timeout_watches);
#  581|   
#  582|           close (loop->epoll_fd);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def603]
plymouth-24.004.60/src/libply/ply-event-loop.c:582:9: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:501:17: call_function: calling ‘ply_event_loop_free’ from ‘ply_event_loop_new’
#  580|           ply_list_free (loop->timeout_watches);
#  581|   
#  582|->         close (loop->epoll_fd);
#  583|           free (loop);
#  584|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def604]
plymouth-24.004.60/src/libply/ply-event-loop.c:592:16: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  590|           ply_list_node_t *node;
#  591|   
#  592|->         node = ply_list_get_first_node (loop->sources);
#  593|           while (node != NULL) {
#  594|                   ply_event_source_t *source;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def605]
plymouth-24.004.60/src/libply/ply-event-loop.c:592:16: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  590|           ply_list_node_t *node;
#  591|   
#  592|->         node = ply_list_get_first_node (loop->sources);
#  593|           while (node != NULL) {
#  594|                   ply_event_source_t *source;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def606]
plymouth-24.004.60/src/libply/ply-event-loop.c:596:49: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  594|                   ply_event_source_t *source;
#  595|   
#  596|->                 source = (ply_event_source_t *) ply_list_node_get_data (node);
#  597|   
#  598|                   if (source->fd == fd)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def607]
plymouth-24.004.60/src/libply/ply-event-loop.c:596:49: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  594|                   ply_event_source_t *source;
#  595|   
#  596|->                 source = (ply_event_source_t *) ply_list_node_get_data (node);
#  597|   
#  598|                   if (source->fd == fd)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def608]
plymouth-24.004.60/src/libply/ply-event-loop.c:601:24: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  599|                           break;
#  600|   
#  601|->                 node = ply_list_get_next_node (loop->sources, node);
#  602|           }
#  603|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def609]
plymouth-24.004.60/src/libply/ply-event-loop.c:601:24: warning[-Wanalyzer-malloc-leak]: leak of ‘loop’
plymouth-24.004.60/src/libply/ply-event-loop.c:479:1: enter_function: entry to ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:483:16: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:488:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:490:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: call_function: calling ‘ply_signal_dispatcher_new’ from ‘ply_event_loop_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:498:35: return_function: returning to ‘ply_event_loop_new’ from ‘ply_signal_dispatcher_new’
plymouth-24.004.60/src/libply/ply-event-loop.c:500:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:505:9: call_function: calling ‘ply_event_loop_watch_fd’ from ‘ply_event_loop_new’
#  599|                           break;
#  600|   
#  601|->                 node = ply_list_get_next_node (loop->sources, node);
#  602|           }
#  603|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def610]
plymouth-24.004.60/src/libply/ply-event-loop.c:832:9: warning[-Wanalyzer-malloc-leak]: leak of ‘source’
plymouth-24.004.60/src/libply/ply-event-loop.c:819:1: enter_function: entry to ‘ply_event_loop_watch_signal’
plymouth-24.004.60/src/libply/ply-event-loop.c:826:18: call_function: inlined call to ‘ply_signal_source_new’ from ‘ply_event_loop_watch_signal’
plymouth-24.004.60/src/libply/ply-event-loop.c:832:9: danger: ‘source’ leaks here; was allocated at [(3)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/2)
#  830|           source->old_posix_signal_handler =
#  831|                   signal (signal_number, ply_signal_dispatcher_posix_signal_handler);
#  832|->         ply_list_append_data (loop->signal_dispatcher->sources, source);
#  833|   }
#  834|   

Error: CPPCHECK_WARNING (CWE-476): [#def611]
plymouth-24.004.60/src/libply/ply-event-loop.c:876: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  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): [#def612]
plymouth-24.004.60/src/libply/ply-event-loop.c:876:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply/ply-event-loop.c:872:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:873:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:873:9: branch_true: following ‘true’ branch (when ‘exit_handler’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:875:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:875:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-event-loop.c:876:9: danger: ‘closure’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/4)
#  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: CPPCHECK_WARNING (CWE-476): [#def613]
plymouth-24.004.60/src/libply/ply-event-loop.c:877: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  875|           closure = calloc (1, sizeof(ply_event_loop_exit_closure_t));
#  876|           closure->handler = exit_handler;
#  877|->         closure->user_data = user_data;
#  878|   
#  879|           ply_list_append_data (loop->exit_closures, closure);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def614]
plymouth-24.004.60/src/libply/ply-event-loop.c:879:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply/ply-event-loop.c:872:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:873:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:873:9: branch_true: following ‘true’ branch (when ‘exit_handler’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:875:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:875:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:879:9: danger: ‘closure’ leaks here; was allocated at [(5)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/4)
#  877|           closure->user_data = user_data;
#  878|   
#  879|->         ply_list_append_data (loop->exit_closures, closure);
#  880|   }
#  881|   

Error: CPPCHECK_WARNING (CWE-476): [#def615]
plymouth-24.004.60/src/libply/ply-event-loop.c:920: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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-476): [#def616]
plymouth-24.004.60/src/libply/ply-event-loop.c:920:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘timeout_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:915:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: following ‘true’ branch (when ‘timeout_handler’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: following ‘true’ branch (when ‘seconds > 0.0’)...
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-event-loop.c:920:9: danger: ‘timeout_watch’ could be NULL: unchecked value from [(7)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/6)
#  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-401): [#def617]
plymouth-24.004.60/src/libply/ply-event-loop.c:920:34: warning[-Wanalyzer-malloc-leak]: leak of ‘timeout_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:915:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: following ‘true’ branch (when ‘timeout_handler’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: following ‘true’ branch (when ‘seconds > 0.0’)...
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:920:34: danger: ‘timeout_watch’ leaks here; was allocated at [(7)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/6)
#  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: CPPCHECK_WARNING (CWE-476): [#def618]
plymouth-24.004.60/src/libply/ply-event-loop.c:921: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: timeout_watch
#  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;
#  923|   

Error: CPPCHECK_WARNING (CWE-476): [#def619]
plymouth-24.004.60/src/libply/ply-event-loop.c:922: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: timeout_watch
#  920|           timeout_watch->timeout = ply_get_timestamp () + seconds;
#  921|           timeout_watch->handler = timeout_handler;
#  922|->         timeout_watch->user_data = user_data;
#  923|   
#  924|           if (fabs (loop->wakeup_time - PLY_EVENT_LOOP_NO_TIMED_WAKEUP) <= 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def620]
plymouth-24.004.60/src/libply/ply-event-loop.c:929:9: warning[-Wanalyzer-malloc-leak]: leak of ‘timeout_watch’
plymouth-24.004.60/src/libply/ply-event-loop.c:915:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:916:9: branch_true: following ‘true’ branch (when ‘timeout_handler’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:917:9: branch_true: following ‘true’ branch (when ‘seconds > 0.0’)...
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:919:25: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-event-loop.c:929:9: danger: ‘timeout_watch’ leaks here; was allocated at [(7)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/6)
#  927|                   loop->wakeup_time = MIN (loop->wakeup_time, timeout_watch->timeout);
#  928|   
#  929|->         ply_list_append_data (loop->timeout_watches, timeout_watch);
#  930|   }
#  931|   

Error: GCC_ANALYZER_WARNING (CWE-416): [#def621]
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/src/libply/ply-event-loop.c:1072:1: enter_function: entry to ‘ply_event_loop_free_watches_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:1077:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1078:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1078:9: branch_true: following ‘true’ branch (when ‘source’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1080:16: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1081:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1085:29: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1089:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:1090:17: call_function: inlined call to ‘ply_fd_watch_free’ from ‘ply_event_loop_free_watches_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:1092:17: call_function: calling ‘ply_event_source_drop_reference’ from ‘ply_event_loop_free_watches_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:1092:17: return_function: returning to ‘ply_event_loop_free_watches_for_source’ from ‘ply_event_source_drop_reference’
plymouth-24.004.60/src/libply/ply-event-loop.c:1081:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1085:29: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1085:29: danger: use after ‘free’ of ‘source’; freed at [(23)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/22)
# 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): [#def622]
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/src/libply/ply-event-loop.c:1123:1: enter_function: entry to ‘ply_event_loop_free_destinations_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:1128:9: branch_true: following ‘true’ branch (when ‘loop’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1129:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1129:9: branch_true: following ‘true’ branch (when ‘source’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1131:16: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1132:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1136:29: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1141:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-event-loop.c:1142:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1148:17: call_function: calling ‘ply_event_source_drop_reference’ from ‘ply_event_loop_free_destinations_for_source’
plymouth-24.004.60/src/libply/ply-event-loop.c:1148:17: return_function: returning to ‘ply_event_loop_free_destinations_for_source’ from ‘ply_event_source_drop_reference’
plymouth-24.004.60/src/libply/ply-event-loop.c:1132:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-event-loop.c:1136:29: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-event-loop.c:1136:29: danger: use after ‘free’ of ‘source’; freed at [(22)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/21)
# 1134|                   ply_event_destination_t *destination;
# 1135|   
# 1136|->                 next_node = ply_list_get_next_node (source->destinations, node);
# 1137|   
# 1138|                   destination =

Error: CPPCHECK_WARNING (CWE-476): [#def623]
plymouth-24.004.60/src/libply/ply-hashtable.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def624]
plymouth-24.004.60/src/libply/ply-hashtable.c:93:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘hashtable’
plymouth-24.004.60/src/libply/ply-hashtable.c:92:21: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-hashtable.c:93:9: danger: ‘hashtable’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def625]
plymouth-24.004.60/src/libply/ply-hashtable.c:94: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   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;
#   96|           hashtable->nodes = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def626]
plymouth-24.004.60/src/libply/ply-hashtable.c:95: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   93|           hashtable->total_node_count = 0;
#   94|           hashtable->dirty_node_count = 0;
#   95|->         hashtable->live_node_count = 0;
#   96|           hashtable->nodes = NULL;
#   97|           hashtable->dirty_node_bitmap = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def627]
plymouth-24.004.60/src/libply/ply-hashtable.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   94|           hashtable->dirty_node_count = 0;
#   95|           hashtable->live_node_count = 0;
#   96|->         hashtable->nodes = NULL;
#   97|           hashtable->dirty_node_bitmap = NULL;
#   98|           hashtable->live_node_bitmap = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def628]
plymouth-24.004.60/src/libply/ply-hashtable.c:97: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   95|           hashtable->live_node_count = 0;
#   96|           hashtable->nodes = NULL;
#   97|->         hashtable->dirty_node_bitmap = NULL;
#   98|           hashtable->live_node_bitmap = NULL;
#   99|           hashtable->compare_func = compare_func;

Error: CPPCHECK_WARNING (CWE-476): [#def629]
plymouth-24.004.60/src/libply/ply-hashtable.c:98: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   96|           hashtable->nodes = NULL;
#   97|           hashtable->dirty_node_bitmap = NULL;
#   98|->         hashtable->live_node_bitmap = NULL;
#   99|           hashtable->compare_func = compare_func;
#  100|           hashtable->hash_func = hash_func;

Error: CPPCHECK_WARNING (CWE-476): [#def630]
plymouth-24.004.60/src/libply/ply-hashtable.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   97|           hashtable->dirty_node_bitmap = NULL;
#   98|           hashtable->live_node_bitmap = NULL;
#   99|->         hashtable->compare_func = compare_func;
#  100|           hashtable->hash_func = hash_func;
#  101|   

Error: CPPCHECK_WARNING (CWE-476): [#def631]
plymouth-24.004.60/src/libply/ply-hashtable.c:100: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#   98|           hashtable->live_node_bitmap = NULL;
#   99|           hashtable->compare_func = compare_func;
#  100|->         hashtable->hash_func = hash_func;
#  101|   
#  102|           if (hashtable->compare_func == NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def632]
plymouth-24.004.60/src/libply/ply-hashtable.c:102: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  100|           hashtable->hash_func = hash_func;
#  101|   
#  102|->         if (hashtable->compare_func == NULL)
#  103|                   hashtable->compare_func = ply_hashtable_direct_compare;
#  104|           if (hashtable->hash_func == NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def633]
plymouth-24.004.60/src/libply/ply-hashtable.c:104: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  102|           if (hashtable->compare_func == NULL)
#  103|                   hashtable->compare_func = ply_hashtable_direct_compare;
#  104|->         if (hashtable->hash_func == NULL)
#  105|                   hashtable->hash_func = ply_hashtable_direct_hash;
#  106|           ply_hashtable_resize (hashtable);

Error: CPPCHECK_WARNING (CWE-476): [#def634]
plymouth-24.004.60/src/libply/ply-hashtable.c:155: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  153|           ply_bitarray_t *old_live_node_bitmap;
#  154|   
#  155|->         newsize = (hashtable->live_node_count + 1) * 4; /* make table 4x to 8x the number of live elements (at least 8) */
#  156|           MASKGEN (newsize);
#  157|           newsize++;

Error: CPPCHECK_WARNING (CWE-476): [#def635]
plymouth-24.004.60/src/libply/ply-hashtable.c:158: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  156|           MASKGEN (newsize);
#  157|           newsize++;
#  158|->         oldsize = hashtable->total_node_count;
#  159|           oldnodes = hashtable->nodes;
#  160|   

Error: CPPCHECK_WARNING (CWE-476): [#def636]
plymouth-24.004.60/src/libply/ply-hashtable.c:159: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  157|           newsize++;
#  158|           oldsize = hashtable->total_node_count;
#  159|->         oldnodes = hashtable->nodes;
#  160|   
#  161|           hashtable->total_node_count = newsize;

Error: CPPCHECK_WARNING (CWE-476): [#def637]
plymouth-24.004.60/src/libply/ply-hashtable.c:161: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  159|           oldnodes = hashtable->nodes;
#  160|   
#  161|->         hashtable->total_node_count = newsize;
#  162|           hashtable->nodes = malloc (newsize * sizeof(struct _ply_hashtable_node));
#  163|           ply_bitarray_free (hashtable->dirty_node_bitmap);

Error: CPPCHECK_WARNING (CWE-476): [#def638]
plymouth-24.004.60/src/libply/ply-hashtable.c:162: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  160|   
#  161|           hashtable->total_node_count = newsize;
#  162|->         hashtable->nodes = malloc (newsize * sizeof(struct _ply_hashtable_node));
#  163|           ply_bitarray_free (hashtable->dirty_node_bitmap);
#  164|           hashtable->dirty_node_bitmap = ply_bitarray_new (newsize);

Error: CPPCHECK_WARNING (CWE-476): [#def639]
plymouth-24.004.60/src/libply/ply-hashtable.c:163: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  161|           hashtable->total_node_count = newsize;
#  162|           hashtable->nodes = malloc (newsize * sizeof(struct _ply_hashtable_node));
#  163|->         ply_bitarray_free (hashtable->dirty_node_bitmap);
#  164|           hashtable->dirty_node_bitmap = ply_bitarray_new (newsize);
#  165|           old_live_node_bitmap = hashtable->live_node_bitmap;

Error: CPPCHECK_WARNING (CWE-476): [#def640]
plymouth-24.004.60/src/libply/ply-hashtable.c:164: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  162|           hashtable->nodes = malloc (newsize * sizeof(struct _ply_hashtable_node));
#  163|           ply_bitarray_free (hashtable->dirty_node_bitmap);
#  164|->         hashtable->dirty_node_bitmap = ply_bitarray_new (newsize);
#  165|           old_live_node_bitmap = hashtable->live_node_bitmap;
#  166|           hashtable->live_node_bitmap = ply_bitarray_new (newsize);

Error: CPPCHECK_WARNING (CWE-476): [#def641]
plymouth-24.004.60/src/libply/ply-hashtable.c:165: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  163|           ply_bitarray_free (hashtable->dirty_node_bitmap);
#  164|           hashtable->dirty_node_bitmap = ply_bitarray_new (newsize);
#  165|->         old_live_node_bitmap = hashtable->live_node_bitmap;
#  166|           hashtable->live_node_bitmap = ply_bitarray_new (newsize);
#  167|           hashtable->dirty_node_count = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def642]
plymouth-24.004.60/src/libply/ply-hashtable.c:166: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  164|           hashtable->dirty_node_bitmap = ply_bitarray_new (newsize);
#  165|           old_live_node_bitmap = hashtable->live_node_bitmap;
#  166|->         hashtable->live_node_bitmap = ply_bitarray_new (newsize);
#  167|           hashtable->dirty_node_count = 0;
#  168|           hashtable->live_node_count = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def643]
plymouth-24.004.60/src/libply/ply-hashtable.c:167: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  165|           old_live_node_bitmap = hashtable->live_node_bitmap;
#  166|           hashtable->live_node_bitmap = ply_bitarray_new (newsize);
#  167|->         hashtable->dirty_node_count = 0;
#  168|           hashtable->live_node_count = 0;
#  169|   

Error: CPPCHECK_WARNING (CWE-476): [#def644]
plymouth-24.004.60/src/libply/ply-hashtable.c:168: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: hashtable
#  166|           hashtable->live_node_bitmap = ply_bitarray_new (newsize);
#  167|           hashtable->dirty_node_count = 0;
#  168|->         hashtable->live_node_count = 0;
#  169|   
#  170|           for (i = 0; i < oldsize; i++) {

Error: CPPCHECK_WARNING (CWE-476): [#def645]
plymouth-24.004.60/src/libply/ply-key-file.c:110: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: key_file
#  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): [#def646]
plymouth-24.004.60/src/libply/ply-key-file.c:110:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘key_file’
plymouth-24.004.60/src/libply/ply-key-file.c:106:9: branch_true: following ‘true’ branch (when ‘filename’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-key-file.c:108:20: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:108:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-key-file.c:110:9: danger: ‘key_file’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  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: CPPCHECK_WARNING (CWE-476): [#def647]
plymouth-24.004.60/src/libply/ply-key-file.c:111: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: key_file
#  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);
#  113|   

Error: CPPCHECK_WARNING (CWE-476): [#def648]
plymouth-24.004.60/src/libply/ply-key-file.c:112: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: key_file
#  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);
#  113|   
#  114|           return key_file;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def649]
plymouth-24.004.60/src/libply/ply-key-file.c:112:28: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:106:9: branch_true: following ‘true’ branch (when ‘filename’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-key-file.c:108:20: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:110:30: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:112:28: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  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);
#  113|   
#  114|           return key_file;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def650]
plymouth-24.004.60/src/libply/ply-key-file.c:112:28: warning[-Wanalyzer-malloc-leak]: leak of ‘key_file’
plymouth-24.004.60/src/libply/ply-key-file.c:106:9: branch_true: following ‘true’ branch (when ‘filename’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-key-file.c:108:20: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:108:20: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:112:28: danger: ‘key_file’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  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);
#  113|   
#  114|           return key_file;

Error: CPPCHECK_WARNING (CWE-476): [#def651]
plymouth-24.004.60/src/libply/ply-key-file.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def652]
plymouth-24.004.60/src/libply/ply-key-file.c:171:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-key-file.c:171:9: danger: ‘group’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def653]
plymouth-24.004.60/src/libply/ply-key-file.c:172: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: group
#  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|   
#  174|           ply_trace ("trying to load group %s", group_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def654]
plymouth-24.004.60/src/libply/ply-key-file.c:172:26: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:172:26: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  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|   
#  174|           ply_trace ("trying to load group %s", group_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def655]
plymouth-24.004.60/src/libply/ply-key-file.c:172:26: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:172:26: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  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|   
#  174|           ply_trace ("trying to load group %s", group_name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def656]
plymouth-24.004.60/src/libply/ply-key-file.c:174:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:174:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  172|           group->entries = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  173|   
#  174|->         ply_trace ("trying to load group %s", group_name);
#  175|           do {
#  176|                   ply_key_file_entry_t *entry;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def657]
plymouth-24.004.60/src/libply/ply-key-file.c:174:9: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:174:9: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  172|           group->entries = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
#  173|   
#  174|->         ply_trace ("trying to load group %s", group_name);
#  175|           do {
#  176|                   ply_key_file_entry_t *entry;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def658]
plymouth-24.004.60/src/libply/ply-key-file.c:186:38: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:186:38: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  184|   
#  185|                   do {
#  186|->                         first_byte = fgetc (key_file->fp);
#  187|                   } while (isspace (first_byte));
#  188|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def659]
plymouth-24.004.60/src/libply/ply-key-file.c:186:38: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:186:38: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/0)
#  184|   
#  185|                   do {
#  186|->                         first_byte = fgetc (key_file->fp);
#  187|                   } while (isspace (first_byte));
#  188|   

Error: COMPILER_WARNING (CWE-252): [#def660]
plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_load_group’
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-401): [#def661]
plymouth-24.004.60/src/libply/ply-key-file.c:202:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:202:17: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/0)
#  200|                           continue;
#  201|                   }
#  202|->                 ungetc (first_byte, key_file->fp);
#  203|   
#  204|                   offset = ftello (key_file->fp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def662]
plymouth-24.004.60/src/libply/ply-key-file.c:202:17: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:202:17: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/0)
#  200|                           continue;
#  201|                   }
#  202|->                 ungetc (first_byte, key_file->fp);
#  203|   
#  204|                   offset = ftello (key_file->fp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def663]
plymouth-24.004.60/src/libply/ply-key-file.c:204:26: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:204:26: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/0)
#  202|                   ungetc (first_byte, key_file->fp);
#  203|   
#  204|->                 offset = ftello (key_file->fp);
#  205|                   items_matched = fscanf (key_file->fp, " %m[^= \t\n] = %m[^\n] ", &key, &value);
#  206|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def664]
plymouth-24.004.60/src/libply/ply-key-file.c:204:26: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:204:26: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/0)
#  202|                   ungetc (first_byte, key_file->fp);
#  203|   
#  204|->                 offset = ftello (key_file->fp);
#  205|                   items_matched = fscanf (key_file->fp, " %m[^= \t\n] = %m[^\n] ", &key, &value);
#  206|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def665]
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:208:28: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:208:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/0)
#  207|                   if (items_matched != 2) {
#  208|                           if (items_matched == 1)
#  209|->                                 fseeko (key_file->fp, offset, SEEK_SET);
#  210|   
#  211|                           free (key);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def666]
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:208:28: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:208:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:209:33: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/0)
#  207|                   if (items_matched != 2) {
#  208|                           if (items_matched == 1)
#  209|->                                 fseeko (key_file->fp, offset, SEEK_SET);
#  210|   
#  211|                           free (key);

Error: CPPCHECK_WARNING (CWE-476): [#def667]
plymouth-24.004.60/src/libply/ply-key-file.c:218: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#  216|                   entry = calloc (1, sizeof(ply_key_file_entry_t));
#  217|   
#  218|->                 entry->key = key;
#  219|                   entry->value = value;
#  220|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def668]
plymouth-24.004.60/src/libply/ply-key-file.c:218:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-key-file.c:218:17: danger: ‘entry’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/2)
#  216|                   entry = calloc (1, sizeof(ply_key_file_entry_t));
#  217|   
#  218|->                 entry->key = key;
#  219|                   entry->value = value;
#  220|   

Error: CPPCHECK_WARNING (CWE-476): [#def669]
plymouth-24.004.60/src/libply/ply-key-file.c:219: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#  217|   
#  218|                   entry->key = key;
#  219|->                 entry->value = value;
#  220|   
#  221|                   ply_hashtable_insert (group->entries, entry->key, entry);

Error: CPPCHECK_WARNING (CWE-476): [#def670]
plymouth-24.004.60/src/libply/ply-key-file.c:221: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#  219|                   entry->value = value;
#  220|   
#  221|->                 ply_hashtable_insert (group->entries, entry->key, entry);
#  222|           } while (items_matched != EOF);
#  223|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def671]
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-key-file.c:171:23: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/0)
#  219|                   entry->value = value;
#  220|   
#  221|->                 ply_hashtable_insert (group->entries, entry->key, entry);
#  222|           } while (items_matched != EOF);
#  223|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def672]
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: danger: ‘entry’ leaks here; was allocated at [(3)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/2)
#  219|                   entry->value = value;
#  220|   
#  221|->                 ply_hashtable_insert (group->entries, entry->key, entry);
#  222|           } while (items_matched != EOF);
#  223|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def673]
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: warning[-Wanalyzer-malloc-leak]: leak of ‘group’
plymouth-24.004.60/src/libply/ply-key-file.c:170:17: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-key-file.c:207:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:216:25: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:221:17: danger: ‘group’ leaks here; was allocated at [(1)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/0)
#  219|                   entry->value = value;
#  220|   
#  221|->                 ply_hashtable_insert (group->entries, entry->key, entry);
#  222|           } while (items_matched != EOF);
#  223|   

Error: COMPILER_WARNING (CWE-252): [#def674]
plymouth-24.004.60/src/libply/ply-key-file.c: scope_hint: In function ‘ply_key_file_load_groups’
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: GCC_ANALYZER_WARNING (CWE-401): [#def675]
plymouth-24.004.60/src/libply/ply-key-file.c:282:1: warning[-Wanalyzer-malloc-leak]: leak of ‘*<unknown>.name’
plymouth-24.004.60/src/libply/ply-key-file.c:228:1: enter_function: entry to ‘ply_key_file_load_groups’
plymouth-24.004.60/src/libply/ply-key-file.c:260:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:266:17: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:266:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: call_function: calling ‘ply_key_file_load_group’ from ‘ply_key_file_load_groups’
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: return_function: returning to ‘ply_key_file_load_groups’ from ‘ply_key_file_load_group’
plymouth-24.004.60/src/libply/ply-key-file.c:282:1: danger: ‘*<unknown>.name’ leaks here; was allocated at [(8)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/7)
#  280|   
#  281|           return added_group;
#  282|-> }
#  283|   
#  284|   bool

Error: GCC_ANALYZER_WARNING (CWE-401): [#def676]
plymouth-24.004.60/src/libply/ply-key-file.c:282:1: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_key_file_load_group(key_file,  group_name)’
plymouth-24.004.60/src/libply/ply-key-file.c:228:1: enter_function: entry to ‘ply_key_file_load_groups’
plymouth-24.004.60/src/libply/ply-key-file.c:260:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:266:17: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:266:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: call_function: calling ‘ply_key_file_load_group’ from ‘ply_key_file_load_groups’
plymouth-24.004.60/src/libply/ply-key-file.c:267:25: return_function: returning to ‘ply_key_file_load_groups’ from ‘ply_key_file_load_group’
plymouth-24.004.60/src/libply/ply-key-file.c:282:1: danger: ‘ply_key_file_load_group(key_file,  group_name)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/7)
#  280|   
#  281|           return added_group;
#  282|-> }
#  283|   
#  284|   bool

Error: CPPCHECK_WARNING (CWE-476): [#def677]
plymouth-24.004.60/src/libply/ply-list.c:53: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   51|           list = calloc (1, sizeof(ply_list_t));
#   52|   
#   53|->         list->first_node = NULL;
#   54|           list->last_node = NULL;
#   55|           list->number_of_nodes = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def678]
plymouth-24.004.60/src/libply/ply-list.c:54: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   52|   
#   53|           list->first_node = NULL;
#   54|->         list->last_node = NULL;
#   55|           list->number_of_nodes = 0;
#   56|   

Error: CPPCHECK_WARNING (CWE-476): [#def679]
plymouth-24.004.60/src/libply/ply-list.c:55: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#   53|           list->first_node = NULL;
#   54|           list->last_node = NULL;
#   55|->         list->number_of_nodes = 0;
#   56|   
#   57|           return list;

Error: CPPCHECK_WARNING (CWE-476): [#def680]
plymouth-24.004.60/src/libply/ply-list.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: node
#   71|   
#   72|           node = calloc (1, sizeof(ply_list_node_t));
#   73|->         node->data = data;
#   74|   
#   75|           return node;

Error: COMPILER_WARNING (CWE-252): [#def681]
plymouth-24.004.60/src/libply/ply-logger.c: scope_hint: In function ‘ply_logger_write_exception’
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: CPPCHECK_WARNING (CWE-476): [#def682]
plymouth-24.004.60/src/libply/ply-logger.c:231: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  229|           logger = calloc (1, sizeof(ply_logger_t));
#  230|   
#  231|->         logger->output_fd = -1;
#  232|           logger->output_fd_is_terminal = false;
#  233|           logger->filename = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def683]
plymouth-24.004.60/src/libply/ply-logger.c:232: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  230|   
#  231|           logger->output_fd = -1;
#  232|->         logger->output_fd_is_terminal = false;
#  233|           logger->filename = NULL;
#  234|           logger->is_enabled = true;

Error: CPPCHECK_WARNING (CWE-476): [#def684]
plymouth-24.004.60/src/libply/ply-logger.c:233: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  231|           logger->output_fd = -1;
#  232|           logger->output_fd_is_terminal = false;
#  233|->         logger->filename = NULL;
#  234|           logger->is_enabled = true;
#  235|           logger->tracing_is_enabled = false;

Error: CPPCHECK_WARNING (CWE-476): [#def685]
plymouth-24.004.60/src/libply/ply-logger.c:234: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  232|           logger->output_fd_is_terminal = false;
#  233|           logger->filename = NULL;
#  234|->         logger->is_enabled = true;
#  235|           logger->tracing_is_enabled = false;
#  236|   

Error: CPPCHECK_WARNING (CWE-476): [#def686]
plymouth-24.004.60/src/libply/ply-logger.c:235: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  233|           logger->filename = NULL;
#  234|           logger->is_enabled = true;
#  235|->         logger->tracing_is_enabled = false;
#  236|   
#  237|           logger->buffer_capacity = 4096;

Error: CPPCHECK_WARNING (CWE-476): [#def687]
plymouth-24.004.60/src/libply/ply-logger.c:237: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  235|           logger->tracing_is_enabled = false;
#  236|   
#  237|->         logger->buffer_capacity = 4096;
#  238|           logger->buffer = calloc (1, logger->buffer_capacity);
#  239|           logger->buffer_size = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def688]
plymouth-24.004.60/src/libply/ply-logger.c:238: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  236|   
#  237|           logger->buffer_capacity = 4096;
#  238|->         logger->buffer = calloc (1, logger->buffer_capacity);
#  239|           logger->buffer_size = 0;
#  240|   

Error: CPPCHECK_WARNING (CWE-476): [#def689]
plymouth-24.004.60/src/libply/ply-logger.c:239: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  237|           logger->buffer_capacity = 4096;
#  238|           logger->buffer = calloc (1, logger->buffer_capacity);
#  239|->         logger->buffer_size = 0;
#  240|   
#  241|           logger->filters = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def690]
plymouth-24.004.60/src/libply/ply-logger.c:241: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: logger
#  239|           logger->buffer_size = 0;
#  240|   
#  241|->         logger->filters = ply_list_new ();
#  242|   
#  243|           return logger;

Error: CPPCHECK_WARNING (CWE-476): [#def691]
plymouth-24.004.60/src/libply/ply-logger.c:563: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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-476): [#def692]
plymouth-24.004.60/src/libply/ply-logger.c:563:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘filter’
plymouth-24.004.60/src/libply/ply-logger.c:561:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-logger.c:563:9: danger: ‘filter’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  561|           filter = calloc (1, sizeof(ply_logger_filter_t));
#  562|   
#  563|->         filter->handler = filter_handler;
#  564|           filter->user_data = user_data;
#  565|   

Error: CPPCHECK_WARNING (CWE-476): [#def693]
plymouth-24.004.60/src/libply/ply-logger.c:564: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: filter
#  562|   
#  563|           filter->handler = filter_handler;
#  564|->         filter->user_data = user_data;
#  565|   
#  566|           ply_list_append_data (logger->filters, filter);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def694]
plymouth-24.004.60/src/libply/ply-logger.c:566:9: warning[-Wanalyzer-malloc-leak]: leak of ‘filter’
plymouth-24.004.60/src/libply/ply-logger.c:561:18: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-logger.c:566:9: danger: ‘filter’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  564|           filter->user_data = user_data;
#  565|   
#  566|->         ply_list_append_data (logger->filters, filter);
#  567|   }
#  568|   

Error: CPPCHECK_WARNING (CWE-476): [#def695]
plymouth-24.004.60/src/libply/ply-progress.c:79: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def696]
plymouth-24.004.60/src/libply/ply-progress.c:79:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress’
plymouth-24.004.60/src/libply/ply-progress.c:77:36: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-progress.c:79:9: danger: ‘progress’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: GCC_ANALYZER_WARNING (CWE-401): [#def697]
plymouth-24.004.60/src/libply/ply-progress.c:79:32: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/libply/ply-progress.c:77:36: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:79:32: danger: ‘progress’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   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-476): [#def698]
plymouth-24.004.60/src/libply/ply-progress.c:80: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   78|   
#   79|           progress->start_time = ply_get_timestamp ();
#   80|->         progress->pause_time = 0;
#   81|           progress->scalar = 1.0 / DEFAULT_BOOT_DURATION;
#   82|           progress->pause_time = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def699]
plymouth-24.004.60/src/libply/ply-progress.c:81: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   79|           progress->start_time = ply_get_timestamp ();
#   80|           progress->pause_time = 0;
#   81|->         progress->scalar = 1.0 / DEFAULT_BOOT_DURATION;
#   82|           progress->pause_time = 0.0;
#   83|           progress->last_percentage = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def700]
plymouth-24.004.60/src/libply/ply-progress.c:82: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   80|           progress->pause_time = 0;
#   81|           progress->scalar = 1.0 / DEFAULT_BOOT_DURATION;
#   82|->         progress->pause_time = 0.0;
#   83|           progress->last_percentage = 0.0;
#   84|           progress->last_percentage_time = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def701]
plymouth-24.004.60/src/libply/ply-progress.c:83: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   81|           progress->scalar = 1.0 / DEFAULT_BOOT_DURATION;
#   82|           progress->pause_time = 0.0;
#   83|->         progress->last_percentage = 0.0;
#   84|           progress->last_percentage_time = 0.0;
#   85|           progress->dead_time = 0.0;

Error: CPPCHECK_WARNING (CWE-476): [#def702]
plymouth-24.004.60/src/libply/ply-progress.c:84: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   82|           progress->pause_time = 0.0;
#   83|           progress->last_percentage = 0.0;
#   84|->         progress->last_percentage_time = 0.0;
#   85|           progress->dead_time = 0.0;
#   86|           progress->next_message_percentage = 0.25;

Error: CPPCHECK_WARNING (CWE-476): [#def703]
plymouth-24.004.60/src/libply/ply-progress.c:85: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   83|           progress->last_percentage = 0.0;
#   84|           progress->last_percentage_time = 0.0;
#   85|->         progress->dead_time = 0.0;
#   86|           progress->next_message_percentage = 0.25;
#   87|           progress->current_message_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def704]
plymouth-24.004.60/src/libply/ply-progress.c:86: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   84|           progress->last_percentage_time = 0.0;
#   85|           progress->dead_time = 0.0;
#   86|->         progress->next_message_percentage = 0.25;
#   87|           progress->current_message_list = ply_list_new ();
#   88|           progress->previous_message_list = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def705]
plymouth-24.004.60/src/libply/ply-progress.c:87: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   85|           progress->dead_time = 0.0;
#   86|           progress->next_message_percentage = 0.25;
#   87|->         progress->current_message_list = ply_list_new ();
#   88|           progress->previous_message_list = ply_list_new ();
#   89|           progress->paused = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def706]
plymouth-24.004.60/src/libply/ply-progress.c:87:42: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/libply/ply-progress.c:77:36: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:87:42: danger: ‘progress’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   85|           progress->dead_time = 0.0;
#   86|           progress->next_message_percentage = 0.25;
#   87|->         progress->current_message_list = ply_list_new ();
#   88|           progress->previous_message_list = ply_list_new ();
#   89|           progress->paused = false;

Error: CPPCHECK_WARNING (CWE-476): [#def707]
plymouth-24.004.60/src/libply/ply-progress.c:88: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   86|           progress->next_message_percentage = 0.25;
#   87|           progress->current_message_list = ply_list_new ();
#   88|->         progress->previous_message_list = ply_list_new ();
#   89|           progress->paused = false;
#   90|           return progress;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def708]
plymouth-24.004.60/src/libply/ply-progress.c:88:43: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/libply/ply-progress.c:77:36: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:88:43: danger: ‘progress’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   86|           progress->next_message_percentage = 0.25;
#   87|           progress->current_message_list = ply_list_new ();
#   88|->         progress->previous_message_list = ply_list_new ();
#   89|           progress->paused = false;
#   90|           return progress;

Error: CPPCHECK_WARNING (CWE-476): [#def709]
plymouth-24.004.60/src/libply/ply-progress.c:89: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
#   87|           progress->current_message_list = ply_list_new ();
#   88|           progress->previous_message_list = ply_list_new ();
#   89|->         progress->paused = false;
#   90|           return progress;
#   91|   }

Error: CPPCHECK_WARNING (CWE-401): [#def710]
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: CPPCHECK_WARNING (CWE-476): [#def711]
plymouth-24.004.60/src/libply/ply-progress.c:201: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def712]
plymouth-24.004.60/src/libply/ply-progress.c:201:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘message’
plymouth-24.004.60/src/libply/ply-progress.c:171:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:183:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:184:33: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:185:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:189:28: branch_false: following ‘false’ branch (when ‘string_size > i’)...
plymouth-24.004.60/src/libply/ply-progress.c:193:41: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:194:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:195:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:200:51: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-progress.c:201:17: danger: ‘message’ could be NULL: unchecked value from [(11)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/10)
#  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: CPPCHECK_WARNING (CWE-476): [#def713]
plymouth-24.004.60/src/libply/ply-progress.c:202: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: message
#  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);
#  204|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def714]
plymouth-24.004.60/src/libply/ply-progress.c:203:17: warning[-Wanalyzer-malloc-leak]: leak of ‘message’
plymouth-24.004.60/src/libply/ply-progress.c:171:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:183:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:184:33: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:185:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:189:28: branch_false: following ‘false’ branch (when ‘string_size > i’)...
plymouth-24.004.60/src/libply/ply-progress.c:193:41: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:194:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:195:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:200:51: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:203:17: danger: ‘message’ leaks here; was allocated at [(11)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/10)
#  201|                   message->time = time;
#  202|                   message->string = string;
#  203|->                 ply_list_append_data (progress->previous_message_list, message);
#  204|           }
#  205|           fclose (fp);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def715]
plymouth-24.004.60/src/libply/ply-progress.c:224:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:224:16: danger: ‘fopen(filename, "w")’ leaks here; was opened at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  222|           }
#  223|   
#  224|->         node = ply_list_get_first_node (progress->current_message_list);
#  225|   
#  226|           while (node) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def716]
plymouth-24.004.60/src/libply/ply-progress.c:224:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:224:16: danger: ‘fopen(filename, "w")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  222|           }
#  223|   
#  224|->         node = ply_list_get_first_node (progress->current_message_list);
#  225|   
#  226|           while (node) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def717]
plymouth-24.004.60/src/libply/ply-progress.c:227:51: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:226:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-progress.c:227:51: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:227:51: danger: ‘fopen(filename, "w")’ leaks here; was opened at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  225|   
#  226|           while (node) {
#  227|->                 ply_progress_message_t *message = ply_list_node_get_data (node);
#  228|                   double percentage = message->time / cur_time;
#  229|                   if (!message->disabled)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def718]
plymouth-24.004.60/src/libply/ply-progress.c:227:51: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:226:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-progress.c:227:51: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:227:51: danger: ‘fopen(filename, "w")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  225|   
#  226|           while (node) {
#  227|->                 ply_progress_message_t *message = ply_list_node_get_data (node);
#  228|                   double percentage = message->time / cur_time;
#  229|                   if (!message->disabled)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def719]
plymouth-24.004.60/src/libply/ply-progress.c:231:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:226:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-progress.c:227:51: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:231:24: danger: ‘fopen(filename, "w")’ leaks here; was opened at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  229|                   if (!message->disabled)
#  230|                           fprintf (fp, "%.3lf:%s\n", percentage, message->string);
#  231|->                 node = ply_list_get_next_node (progress->current_message_list, node);
#  232|           }
#  233|           fclose (fp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def720]
plymouth-24.004.60/src/libply/ply-progress.c:231:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "w")’
plymouth-24.004.60/src/libply/ply-progress.c:218:14: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:219:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:224:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:226:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-progress.c:227:51: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:231:24: danger: ‘fopen(filename, "w")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  229|                   if (!message->disabled)
#  230|                           fprintf (fp, "%.3lf:%s\n", percentage, message->string);
#  231|->                 node = ply_list_get_next_node (progress->current_message_list, node);
#  232|           }
#  233|           fclose (fp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def721]
plymouth-24.004.60/src/libply/ply-progress.c:279:16: warning[-Wanalyzer-malloc-leak]: leak of ‘message’
plymouth-24.004.60/src/libply/ply-progress.c:300:1: enter_function: entry to ‘ply_progress_status_update’
plymouth-24.004.60/src/libply/ply-progress.c:306:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:310:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:311:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:321:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:321:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:322:33: call_function: calling ‘ply_progress_get_time’ from ‘ply_progress_status_update’
#  277|           if (progress->paused)
#  278|                   return progress->pause_time - progress->start_time;
#  279|->         return ply_get_timestamp () - progress->start_time;
#  280|   }
#  281|   

Error: CPPCHECK_WARNING (CWE-476): [#def722]
plymouth-24.004.60/src/libply/ply-progress.c:322: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def723]
plymouth-24.004.60/src/libply/ply-progress.c:322:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘message’
plymouth-24.004.60/src/libply/ply-progress.c:306:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:310:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:311:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:321:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:321:27: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-progress.c:322:17: danger: ‘message’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
#  320|                   }
#  321|                   message = malloc (sizeof(ply_progress_message_t));
#  322|->                 message->time = ply_progress_get_time (progress);
#  323|                   message->string = strdup (status);
#  324|                   message->disabled = false;

Error: CPPCHECK_WARNING (CWE-476): [#def724]
plymouth-24.004.60/src/libply/ply-progress.c:323: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: message
#  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;
#  325|                   ply_list_append_data (progress->current_message_list, message);

Error: CPPCHECK_WARNING (CWE-476): [#def725]
plymouth-24.004.60/src/libply/ply-progress.c:324: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: message
#  322|                   message->time = ply_progress_get_time (progress);
#  323|                   message->string = strdup (status);
#  324|->                 message->disabled = false;
#  325|                   ply_list_append_data (progress->current_message_list, message);
#  326|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def726]
plymouth-24.004.60/src/libply/ply-progress.c:325:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/libply/ply-progress.c:306:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:310:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:311:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:321:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:323:35: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:325:17: danger: ‘<unknown>’ leaks here; was allocated at [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
#  323|                   message->string = strdup (status);
#  324|                   message->disabled = false;
#  325|->                 ply_list_append_data (progress->current_message_list, message);
#  326|           }
#  327|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def727]
plymouth-24.004.60/src/libply/ply-progress.c:325:17: warning[-Wanalyzer-malloc-leak]: leak of ‘message’
plymouth-24.004.60/src/libply/ply-progress.c:306:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:310:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:311:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-progress.c:321:27: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-progress.c:321:27: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-progress.c:325:17: danger: ‘message’ leaks here; was allocated at [(5)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/4)
#  323|                   message->string = strdup (status);
#  324|                   message->disabled = false;
#  325|->                 ply_list_append_data (progress->current_message_list, message);
#  326|           }
#  327|   }

Error: CPPCHECK_WARNING (CWE-476): [#def728]
plymouth-24.004.60/src/libply/ply-region.c:46: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: region
#   44|           region = calloc (1, sizeof(ply_region_t));
#   45|   
#   46|->         region->rectangle_list = ply_list_new ();
#   47|   
#   48|           return region;

Error: CPPCHECK_WARNING (CWE-476): [#def729]
plymouth-24.004.60/src/libply/ply-region.c:86: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_rectangle
#   84|   
#   85|           new_rectangle = malloc (sizeof(*rectangle));
#   86|->         *new_rectangle = *rectangle;
#   87|   
#   88|           return new_rectangle;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def730]
plymouth-24.004.60/src/libply/ply-region.c:86:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:434:26: call_function: calling ‘copy_rectangle’ from ‘ply_region_add_rectangle’
#   84|   
#   85|           new_rectangle = malloc (sizeof(*rectangle));
#   86|->         *new_rectangle = *rectangle;
#   87|   
#   88|           return new_rectangle;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def731]
plymouth-24.004.60/src/libply/ply-region.c:141:25: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(new_area)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  139|                           merge_rectangle_with_sub_list (region, rectangle, next_node);
#  140|   
#  141|->                         new_area->height = old_area->y - new_area->y;
#  142|                   }
#  143|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def732]
plymouth-24.004.60/src/libply/ply-region.c:162:25: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(new_area)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  160|                           merge_rectangle_with_sub_list (region, rectangle, next_node);
#  161|   
#  162|->                         new_area->height = old_area->y - new_area->y;
#  163|                   }
#  164|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def733]
plymouth-24.004.60/src/libply/ply-region.c:206:25: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(new_area)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  204|   
#  205|                           new_area->height = (new_area->y + new_area->height) - (old_area->y + old_area->height);
#  206|->                         new_area->y = old_area->y + old_area->height;
#  207|                   }
#  208|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def734]
plymouth-24.004.60/src/libply/ply-region.c:229:25: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(new_area)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  227|   
#  228|                           new_area->height = (new_area->y + new_area->height) - (old_area->y + old_area->height);
#  229|->                         new_area->y = old_area->y + old_area->height;
#  230|                   }
#  231|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def735]
plymouth-24.004.60/src/libply/ply-region.c:304:25: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(new_area)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  302|                           merge_rectangle_with_sub_list (region, rectangle, next_node);
#  303|   
#  304|->                         new_area->height = old_area->y - new_area->y;
#  305|                   }
#  306|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def736]
plymouth-24.004.60/src/libply/ply-region.c:438:1: warning[-Wanalyzer-malloc-leak]: leak of ‘copy_rectangle(rectangle)’
plymouth-24.004.60/src/libply/ply-region.c:423:1: enter_function: entry to ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:429:9: branch_true: following ‘true’ branch (when ‘region’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:430:9: branch_true: following ‘true’ branch (when ‘rectangle’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-region.c:432:22: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-region.c:434:26: call_function: calling ‘copy_rectangle’ from ‘ply_region_add_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:434:26: return_function: returning to ‘ply_region_add_rectangle’ from ‘copy_rectangle’
plymouth-24.004.60/src/libply/ply-region.c:435:9: call_function: calling ‘merge_rectangle_with_sub_list’ from ‘ply_region_add_rectangle’
#  436|                                          rectangle_copy,
#  437|                                          first_node);
#  438|-> }
#  439|   
#  440|   ply_list_t *

Error: CPPCHECK_WARNING (CWE-476): [#def737]
plymouth-24.004.60/src/libply/ply-terminal-session.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def738]
plymouth-24.004.60/src/libply/ply-terminal-session.c:72:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘session’
plymouth-24.004.60/src/libply/ply-terminal-session.c:71:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-terminal-session.c:72:9: danger: ‘session’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def739]
plymouth-24.004.60/src/libply/ply-terminal-session.c:73: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: session
#   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 ();
#   75|           session->is_running = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def740]
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:47: warning[-Wanalyzer-malloc-leak]: leak of ‘session’
plymouth-24.004.60/src/libply/ply-terminal-session.c:69:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-terminal-session.c:71:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-terminal-session.c:71:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:25: branch_true: following ‘true’ branch (when ‘argv’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:47: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:47: danger: ‘session’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   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 ();
#   75|           session->is_running = false;

Error: CPPCHECK_WARNING (CWE-476): [#def741]
plymouth-24.004.60/src/libply/ply-terminal-session.c:74: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: session
#   72|           session->pseudoterminal_master_fd = -1;
#   73|           session->argv = argv == NULL ? NULL : ply_copy_string_array (argv);
#   74|->         session->logger = ply_logger_new ();
#   75|           session->is_running = false;
#   76|           session->console_is_redirected = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def742]
plymouth-24.004.60/src/libply/ply-terminal-session.c:74:27: warning[-Wanalyzer-malloc-leak]: leak of ‘session’
plymouth-24.004.60/src/libply/ply-terminal-session.c:71:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:25: branch_false: following ‘false’ branch (when ‘argv’ is NULL)...
plymouth-24.004.60/src/libply/ply-terminal-session.c:73:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-terminal-session.c:74:27: danger: ‘session’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   72|           session->pseudoterminal_master_fd = -1;
#   73|           session->argv = argv == NULL ? NULL : ply_copy_string_array (argv);
#   74|->         session->logger = ply_logger_new ();
#   75|           session->is_running = false;
#   76|           session->console_is_redirected = false;

Error: CPPCHECK_WARNING (CWE-476): [#def743]
plymouth-24.004.60/src/libply/ply-terminal-session.c:75: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: session
#   73|           session->argv = argv == NULL ? NULL : ply_copy_string_array (argv);
#   74|           session->logger = ply_logger_new ();
#   75|->         session->is_running = false;
#   76|           session->console_is_redirected = false;
#   77|   

Error: CPPCHECK_WARNING (CWE-476): [#def744]
plymouth-24.004.60/src/libply/ply-terminal-session.c:76: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: session
#   74|           session->logger = ply_logger_new ();
#   75|           session->is_running = false;
#   76|->         session->console_is_redirected = false;
#   77|   
#   78|           return session;

Error: CPPCHECK_WARNING (CWE-476): [#def745]
plymouth-24.004.60/src/libply/ply-trigger.c:65: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def746]
plymouth-24.004.60/src/libply/ply-trigger.c:65:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘trigger’
plymouth-24.004.60/src/libply/ply-trigger.c:64:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-trigger.c:65:9: danger: ‘trigger’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def747]
plymouth-24.004.60/src/libply/ply-trigger.c:66: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: trigger
#   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;
#   68|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def748]
plymouth-24.004.60/src/libply/ply-trigger.c:66:29: warning[-Wanalyzer-malloc-leak]: leak of ‘trigger’
plymouth-24.004.60/src/libply/ply-trigger.c:64:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-trigger.c:66:29: danger: ‘trigger’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   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;
#   68|   

Error: CPPCHECK_WARNING (CWE-476): [#def749]
plymouth-24.004.60/src/libply/ply-trigger.c:67: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: trigger
#   65|           trigger->free_address = free_address;
#   66|           trigger->closures = ply_list_new ();
#   67|->         trigger->ignore_count = 0;
#   68|   
#   69|           return trigger;

Error: CPPCHECK_WARNING (CWE-476): [#def750]
plymouth-24.004.60/src/libply/ply-trigger.c:126: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def751]
plymouth-24.004.60/src/libply/ply-trigger.c:126:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply/ply-trigger.c:125:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-trigger.c:126:9: danger: ‘closure’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def752]
plymouth-24.004.60/src/libply/ply-trigger.c:127: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  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;
#  129|   

Error: CPPCHECK_WARNING (CWE-476): [#def753]
plymouth-24.004.60/src/libply/ply-trigger.c:128: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  126|           closure->handler_type = PLY_TRIGGER_HANDLER_TYPE_INSTANCE_HANDLER;
#  127|           closure->instance_handler = handler;
#  128|->         closure->user_data = user_data;
#  129|   
#  130|           ply_list_append_data (trigger->closures, closure);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def754]
plymouth-24.004.60/src/libply/ply-trigger.c:130:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply/ply-trigger.c:125:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-trigger.c:130:9: danger: ‘closure’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  128|           closure->user_data = user_data;
#  129|   
#  130|->         ply_list_append_data (trigger->closures, closure);
#  131|   }
#  132|   

Error: CPPCHECK_WARNING (CWE-476): [#def755]
plymouth-24.004.60/src/libply/ply-trigger.c:169: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  167|   
#  168|           closure = calloc (1, sizeof(ply_trigger_closure_t));
#  169|->         closure->handler_type = PLY_TRIGGER_HANDLER_TYPE_HANDLER;
#  170|           closure->handler = handler;
#  171|           closure->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def756]
plymouth-24.004.60/src/libply/ply-trigger.c:170: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: closure
#  168|           closure = calloc (1, sizeof(ply_trigger_closure_t));
#  169|           closure->handler_type = PLY_TRIGGER_HANDLER_TYPE_HANDLER;
#  170|->         closure->handler = handler;
#  171|           closure->user_data = user_data;
#  172|   

Error: CPPCHECK_WARNING (CWE-476): [#def757]
plymouth-24.004.60/src/libply/ply-trigger.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def758]
plymouth-24.004.60/src/libply/ply-trigger.c:171:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘closure’
plymouth-24.004.60/src/libply/ply-trigger.c:168:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-trigger.c:171:9: danger: ‘closure’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def759]
plymouth-24.004.60/src/libply/ply-trigger.c:173:9: warning[-Wanalyzer-malloc-leak]: leak of ‘closure’
plymouth-24.004.60/src/libply/ply-trigger.c:168:19: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-trigger.c:173:9: danger: ‘closure’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  171|           closure->user_data = user_data;
#  172|   
#  173|->         ply_list_append_data (trigger->closures, closure);
#  174|   }
#  175|   

Error: CPPCHECK_WARNING (CWE-476): [#def760]
plymouth-24.004.60/src/libply/ply-utils.c:147: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: address
#  145|   
#  146|           address = calloc (1, sizeof(struct sockaddr_un));
#  147|->         address->sun_family = AF_UNIX;
#  148|   
#  149|           /* a socket is marked as abstract if its path has the

Error: GCC_ANALYZER_WARNING (CWE-476): [#def761]
plymouth-24.004.60/src/libply/ply-utils.c:147:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘address’
plymouth-24.004.60/src/libply/ply-utils.c:143:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:144:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:146:19: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:146:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:147:9: danger: ‘address’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#  145|   
#  146|           address = calloc (1, sizeof(struct sockaddr_un));
#  147|->         address->sun_family = AF_UNIX;
#  148|   
#  149|           /* a socket is marked as abstract if its path has the

Error: GCC_ANALYZER_WARNING (CWE-401): [#def762]
plymouth-24.004.60/src/libply/ply-utils.c:195:13: warning[-Wanalyzer-malloc-leak]: leak of ‘create_unix_address_from_path(path,  type, & address_size)’
plymouth-24.004.60/src/libply/ply-utils.c:178:1: enter_function: entry to ‘ply_connect_to_unix_socket’
plymouth-24.004.60/src/libply/ply-utils.c:185:9: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-utils.c:186:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:186:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:188:14: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:188:14: call_function: calling ‘ply_open_unix_socket’ from ‘ply_connect_to_unix_socket’
plymouth-24.004.60/src/libply/ply-utils.c:188:14: return_function: returning to ‘ply_connect_to_unix_socket’ from ‘ply_open_unix_socket’
plymouth-24.004.60/src/libply/ply-utils.c:190:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:193:19: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:193:19: call_function: calling ‘create_unix_address_from_path’ from ‘ply_connect_to_unix_socket’
plymouth-24.004.60/src/libply/ply-utils.c:193:19: return_function: returning to ‘ply_connect_to_unix_socket’ from ‘create_unix_address_from_path’
plymouth-24.004.60/src/libply/ply-utils.c:195:13: danger: ‘create_unix_address_from_path(path,  type, & address_size)’ leaks here; was allocated at [(20)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/19)
#  193|           address = create_unix_address_from_path (path, type, &address_size);
#  194|   
#  195|->         if (connect (fd, address, address_size) < 0) {
#  196|                   ply_save_errno ();
#  197|                   free (address);

Error: CPPCHECK_WARNING (CWE-476): [#def763]
plymouth-24.004.60/src/libply/ply-utils.c:448: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: copy
#  446|   
#  447|           for (i = 0; array[i] != NULL; i++) {
#  448|->                 copy[i] = strdup (array[i]);
#  449|           }
#  450|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def764]
plymouth-24.004.60/src/libply/ply-utils.c:448:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘copy’
plymouth-24.004.60/src/libply/ply-utils.c:445:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:447:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:448:21: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:448:17: danger: ‘copy + (long unsigned int)i * 8’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  446|   
#  447|           for (i = 0; array[i] != NULL; i++) {
#  448|->                 copy[i] = strdup (array[i]);
#  449|           }
#  450|   

Error: CPPCHECK_WARNING (CWE-476): [#def765]
plymouth-24.004.60/src/libply/ply-utils.c:650: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: parent_directory
#  648|                   if (errno == ENOENT) {
#  649|                           parent_directory = strdup (directory);
#  650|->                         last_path_component = strrchr (parent_directory, '/');
#  651|                           *last_path_component = '\0';
#  652|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def766]
plymouth-24.004.60/src/libply/ply-utils.c:650:47: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘parent_directory’ where non-null expected
plymouth-24.004.60/src/libply/ply-utils.c:628:9: branch_true: following ‘true’ branch (when ‘directory’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-utils.c:629:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:629:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:631:13: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:631:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:636:13: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:636:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:642:13: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:642:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:647:30: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:648:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:649:44: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:649:44: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:650:47: danger: argument 1 (‘parent_directory’) from [(13)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/12) could be NULL where non-null expected
#  648|                   if (errno == ENOENT) {
#  649|                           parent_directory = strdup (directory);
#  650|->                         last_path_component = strrchr (parent_directory, '/');
#  651|                           *last_path_component = '\0';
#  652|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def767]
plymouth-24.004.60/src/libply/ply-utils.c:653:25: warning[-Wanalyzer-malloc-leak]: leak of ‘parent_directory’
plymouth-24.004.60/src/libply/ply-utils.c:628:9: branch_true: following ‘true’ branch (when ‘directory’ is non-NULL)...
plymouth-24.004.60/src/libply/ply-utils.c:629:9: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:629:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:631:13: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:631:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:636:13: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:636:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:642:13: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:642:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:647:30: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:648:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:649:44: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:649:44: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-utils.c:653:25: danger: ‘parent_directory’ leaks here; was allocated at [(13)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/12)
#  651|                           *last_path_component = '\0';
#  652|   
#  653|->                         ply_trace ("parent directory '%s' doesn't exist, creating it first", parent_directory);
#  654|                           if (ply_create_directory (parent_directory)
#  655|                               && ((mkdir (directory, 0755) == 0) || errno == EEXIST))

Error: GCC_ANALYZER_WARNING (CWE-775): [#def768]
plymouth-24.004.60/src/libply/ply-utils.c:698:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:698:17: danger: ‘receiver_fd’ leaks here
#  696|           if (pid != 0) {
#  697|                   uint8_t byte;
#  698|->                 close (sender_fd);
#  699|   
#  700|                   if (!ply_read (receiver_fd, &byte, sizeof(uint8_t))) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def769]
plymouth-24.004.60/src/libply/ply-utils.c:698:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘sender_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:698:17: danger: ‘sender_fd’ leaks here
#  696|           if (pid != 0) {
#  697|                   uint8_t byte;
#  698|->                 close (sender_fd);
#  699|   
#  700|                   if (!ply_read (receiver_fd, &byte, sizeof(uint8_t))) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def770]
plymouth-24.004.60/src/libply/ply-utils.c:704:29: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:700:22: call_function: calling ‘ply_read’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:700:22: return_function: returning to ‘ply_create_daemon’ from ‘ply_read’
plymouth-24.004.60/src/libply/ply-utils.c:700:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:701:42: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:704:29: danger: ‘receiver_fd’ leaks here
#  702|                           int status;
#  703|   
#  704|->                         if (waitpid (pid, &status, WNOHANG) <= 0)
#  705|                                   ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error));
#  706|                           else if (WIFEXITED (status))

Error: GCC_ANALYZER_WARNING (CWE-775): [#def771]
plymouth-24.004.60/src/libply/ply-utils.c:705:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:700:22: call_function: calling ‘ply_read’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:700:22: return_function: returning to ‘ply_create_daemon’ from ‘ply_read’
plymouth-24.004.60/src/libply/ply-utils.c:700:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:701:42: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:704:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:705:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:705:33: danger: ‘receiver_fd’ leaks here
#  703|   
#  704|                           if (waitpid (pid, &status, WNOHANG) <= 0)
#  705|->                                 ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error));
#  706|                           else if (WIFEXITED (status))
#  707|                                   ply_error ("unexpectedly exited with status %d immediately after starting to daemonize", (int) WEXITSTATUS (status));

Error: GCC_ANALYZER_WARNING (CWE-775): [#def772]
plymouth-24.004.60/src/libply/ply-utils.c:707:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:700:22: call_function: calling ‘ply_read’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:700:22: return_function: returning to ‘ply_create_daemon’ from ‘ply_read’
plymouth-24.004.60/src/libply/ply-utils.c:700:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:701:42: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:704:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:706:34: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:706:33: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:707:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:707:33: danger: ‘receiver_fd’ leaks here
#  705|                                   ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error));
#  706|                           else if (WIFEXITED (status))
#  707|->                                 ply_error ("unexpectedly exited with status %d immediately after starting to daemonize", (int) WEXITSTATUS (status));
#  708|                           else if (WIFSIGNALED (status))
#  709|                                   ply_error ("unexpectedly died from signal %s immediately after starting to daemonize", strsignal (WTERMSIG (status)));

Error: GCC_ANALYZER_WARNING (CWE-775): [#def773]
plymouth-24.004.60/src/libply/ply-utils.c:709:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_true: following ‘true’ branch (when ‘pid != 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:698:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:700:22: call_function: calling ‘ply_read’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:700:22: return_function: returning to ‘ply_create_daemon’ from ‘ply_read’
plymouth-24.004.60/src/libply/ply-utils.c:700:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:701:42: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:704:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:706:34: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:706:33: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:708:34: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:708:33: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:709:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:709:33: danger: ‘receiver_fd’ leaks here
#  707|                                   ply_error ("unexpectedly exited with status %d immediately after starting to daemonize", (int) WEXITSTATUS (status));
#  708|                           else if (WIFSIGNALED (status))
#  709|->                                 ply_error ("unexpectedly died from signal %s immediately after starting to daemonize", strsignal (WTERMSIG (status)));
#  710|                           _exit (1);
#  711|                   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def774]
plymouth-24.004.60/src/libply/ply-utils.c:715:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘receiver_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: following ‘false’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:715:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:715:9: danger: ‘receiver_fd’ leaks here
#  713|                   _exit ((int) byte);
#  714|           }
#  715|->         close (receiver_fd);
#  716|   
#  717|           handle = calloc (1, sizeof(int));

Error: GCC_ANALYZER_WARNING (CWE-775): [#def775]
plymouth-24.004.60/src/libply/ply-utils.c:715:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘sender_fd’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: following ‘false’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:715:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:715:9: danger: ‘sender_fd’ leaks here
#  713|                   _exit ((int) byte);
#  714|           }
#  715|->         close (receiver_fd);
#  716|   
#  717|           handle = calloc (1, sizeof(int));

Error: CPPCHECK_WARNING (CWE-476): [#def776]
plymouth-24.004.60/src/libply/ply-utils.c:718: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: handle
#  716|   
#  717|           handle = calloc (1, sizeof(int));
#  718|->         *handle = sender_fd;
#  719|   
#  720|           return (ply_daemon_handle_t *) handle;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def777]
plymouth-24.004.60/src/libply/ply-utils.c:718:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘handle’
plymouth-24.004.60/src/libply/ply-utils.c:681:1: enter_function: entry to ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: call_function: calling ‘ply_open_unidirectional_pipe’ from ‘ply_create_daemon’
plymouth-24.004.60/src/libply/ply-utils.c:687:14: return_function: returning to ‘ply_create_daemon’ from ‘ply_open_unidirectional_pipe’
plymouth-24.004.60/src/libply/ply-utils.c:687:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:691:15: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:693:12: branch_false: following ‘false’ branch (when ‘pid >= 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:696:12: branch_false: following ‘false’ branch (when ‘pid == 0’)...
plymouth-24.004.60/src/libply/ply-utils.c:715:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:717:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:718:9: danger: ‘handle’ could be NULL: unchecked value from [(18)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/17)
#  716|   
#  717|           handle = calloc (1, sizeof(int));
#  718|->         *handle = sender_fd;
#  719|   
#  720|           return (ply_daemon_handle_t *) handle;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def778]
plymouth-24.004.60/src/libply/ply-utils.c:801:16: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘size’
 branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:801:16: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:801:16: danger: use of uninitialized value ‘size’ here
#  799|                   break;
#  800|           }
#  801|->         return size;
#  802|   }
#  803|   

Error: COMPILER_WARNING (CWE-457): [#def779]
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/src/libply/ply-utils.c:801:16: warning[-Wmaybe-uninitialized]: ‘size’ may be used uninitialized
#  801 |         return size;
#      |                ^~~~
plymouth-24.004.60/src/libply/ply-utils.c:780:16: note: ‘size’ was declared here
#  780 |         size_t size;
#      |                ^~~~
#  799|                   break;
#  800|           }
#  801|->         return size;
#  802|   }
#  803|   

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def781]
plymouth-24.004.60/src/libply/ply-utils.c:948:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply/ply-utils.c:938:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:948:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:948:17: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/0)
#  946|           bytes_read = read (fd, command_line, PLY_MAX_COMMAND_LINE_SIZE - 1);
#  947|           if (bytes_read < 0) {
#  948|->                 ply_trace ("Could not read %s: %m", path);
#  949|                   close (fd);
#  950|                   goto error;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def782]
plymouth-24.004.60/src/libply/ply-utils.c:948:17: warning[-Wanalyzer-malloc-leak]: leak of ‘command_line’
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:945:24: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:948:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:948:17: danger: ‘command_line’ leaks here; was allocated at [(3)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/2)
#  946|           bytes_read = read (fd, command_line, PLY_MAX_COMMAND_LINE_SIZE - 1);
#  947|           if (bytes_read < 0) {
#  948|->                 ply_trace ("Could not read %s: %m", path);
#  949|                   close (fd);
#  950|                   goto error;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def783]
plymouth-24.004.60/src/libply/ply-utils.c:949:17: warning[-Wanalyzer-malloc-leak]: leak of ‘command_line’
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:945:24: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:948:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:949:17: danger: ‘command_line’ leaks here; was allocated at [(3)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/2)
#  947|           if (bytes_read < 0) {
#  948|                   ply_trace ("Could not read %s: %m", path);
#  949|->                 close (fd);
#  950|                   goto error;
#  951|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def784]
plymouth-24.004.60/src/libply/ply-utils.c:950:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply/ply-utils.c:938:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:948:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:950:17: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/0)
#  948|                   ply_trace ("Could not read %s: %m", path);
#  949|                   close (fd);
#  950|->                 goto error;
#  951|           }
#  952|           close (fd);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def785]
plymouth-24.004.60/src/libply/ply-utils.c:952:9: warning[-Wanalyzer-malloc-leak]: leak of ‘command_line’
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:945:24: acquire_memory: allocated here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:952:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:952:9: danger: ‘command_line’ leaks here; was allocated at [(3)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/2)
#  950|                   goto error;
#  951|           }
#  952|->         close (fd);
#  953|           free (path);
#  954|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def786]
plymouth-24.004.60/src/libply/ply-utils.c:953:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
plymouth-24.004.60/src/libply/ply-utils.c:938:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:952:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:953:9: danger: ‘open(path, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/0)
#  951|           }
#  952|           close (fd);
#  953|->         free (path);
#  954|   
#  955|           for (i = 0; i < bytes_read - 1; i++) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def787]
plymouth-24.004.60/src/libply/ply-utils.c:956:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_line’
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:945:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:952:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:955:21: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:956:33: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:956:21: danger: ‘command_line + (sizetype)i’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/2)
#  954|   
#  955|           for (i = 0; i < bytes_read - 1; i++) {
#  956|->                 if (command_line[i] == '\0')
#  957|                           command_line[i] = ' ';
#  958|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def788]
plymouth-24.004.60/src/libply/ply-utils.c:959:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command_line’
plymouth-24.004.60/src/libply/ply-utils.c:940:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:945:24: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:945:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/libply/ply-utils.c:947:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:952:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:955:21: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:959:21: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:959:9: danger: ‘command_line + (sizetype)i’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/2)
#  957|                           command_line[i] = ' ';
#  958|           }
#  959|->         command_line[i] = '\0';
#  960|   
#  961|           return command_line;

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def790]
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/sys/kernel/printk", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1119:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1121:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: danger: ‘open("/proc/sys/kernel/printk", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/0)
# 1124|           }
# 1125|   
# 1126|->         ply_trace ("reading kmsg log levels");
# 1127|           if (read (fd, log_levels, sizeof(log_levels) - 1) < 0) {
# 1128|                   ply_trace ("couldn't read it: %m");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def791]
plymouth-24.004.60/src/libply/ply-utils.c:1128:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/sys/kernel/printk", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1119:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1121:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1127:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1128:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1128:17: danger: ‘open("/proc/sys/kernel/printk", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/0)
# 1126|           ply_trace ("reading kmsg log levels");
# 1127|           if (read (fd, log_levels, sizeof(log_levels) - 1) < 0) {
# 1128|->                 ply_trace ("couldn't read it: %m");
# 1129|                   close (fd);
# 1130|                   return;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def792]
plymouth-24.004.60/src/libply/ply-utils.c:1129:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/sys/kernel/printk", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1119:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1121:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1127:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1128:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1129:17: danger: ‘open("/proc/sys/kernel/printk", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/61/codeFlows/0/threadFlows/0/locations/0)
# 1127|           if (read (fd, log_levels, sizeof(log_levels) - 1) < 0) {
# 1128|                   ply_trace ("couldn't read it: %m");
# 1129|->                 close (fd);
# 1130|                   return;
# 1131|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def793]
plymouth-24.004.60/src/libply/ply-utils.c:1134:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/sys/kernel/printk", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1119:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1121:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1126:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1127:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1132:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1134:17: danger: ‘open("/proc/sys/kernel/printk", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/62/codeFlows/0/threadFlows/0/locations/0)
# 1132|           close (fd);
# 1133|   
# 1134|->         field = strtok_r (log_levels, " \t", &fields);
# 1135|   
# 1136|           if (field == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def794]
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/cmdline", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1202:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1205:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1206:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1208:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: danger: ‘open("/proc/cmdline", 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/63/codeFlows/0/threadFlows/0/locations/2)
# 1211|           }
# 1212|   
# 1213|->         ply_trace ("reading kernel command line");
# 1214|           if (read (fd, kernel_command_line, sizeof(kernel_command_line) - 1) < 0) {
# 1215|                   ply_trace ("couldn't read it: %m");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def795]
plymouth-24.004.60/src/libply/ply-utils.c:1215:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/cmdline", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1202:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1205:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1206:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1208:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1214:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1215:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1215:17: danger: ‘open("/proc/cmdline", 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/71/codeFlows/0/threadFlows/0/locations/2)
# 1213|           ply_trace ("reading kernel command line");
# 1214|           if (read (fd, kernel_command_line, sizeof(kernel_command_line) - 1) < 0) {
# 1215|->                 ply_trace ("couldn't read it: %m");
# 1216|                   close (fd);
# 1217|                   return NULL;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def796]
plymouth-24.004.60/src/libply/ply-utils.c:1216:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/cmdline", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1202:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1205:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1206:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1208:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1214:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1215:17: branch_true: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1216:17: danger: ‘open("/proc/cmdline", 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/79/codeFlows/0/threadFlows/0/locations/2)
# 1214|           if (read (fd, kernel_command_line, sizeof(kernel_command_line) - 1) < 0) {
# 1215|                   ply_trace ("couldn't read it: %m");
# 1216|->                 close (fd);
# 1217|                   return NULL;
# 1218|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def797]
plymouth-24.004.60/src/libply/ply-utils.c:1232:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/cmdline", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1202:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1205:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1206:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1208:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1214:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1224:16: branch_false: following ‘false’ branch (when ‘key’ is NULL)...
plymouth-24.004.60/src/libply/ply-utils.c:1232:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1232:9: danger: ‘open("/proc/cmdline", 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/80/codeFlows/0/threadFlows/0/locations/2)
# 1230|                   remaining_command_line = colon + 1;
# 1231|           }
# 1232|->         ply_trace ("Kernel command line is: '%s'", kernel_command_line);
# 1233|   
# 1234|           close (fd);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def798]
plymouth-24.004.60/src/libply/ply-utils.c:1236:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/cmdline", 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1202:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1205:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1206:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1208:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/libply/ply-utils.c:1213:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1214:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1224:16: branch_false: following ‘false’ branch (when ‘key’ is NULL)...
plymouth-24.004.60/src/libply/ply-utils.c:1232:9: branch_false: ...to here
plymouth-24.004.60/src/libply/ply-utils.c:1236:9: danger: ‘open("/proc/cmdline", 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/88/codeFlows/0/threadFlows/0/locations/2)
# 1234|           close (fd);
# 1235|   
# 1236|->         kernel_command_line_is_set = true;
# 1237|           return kernel_command_line;
# 1238|   }

Error: GCC_ANALYZER_WARNING: [#def799]
plymouth-24.004.60/src/libply/ply-utils.c:1339:15: warning[-Wanalyzer-fd-use-without-check]: ‘read’ on possibly invalid file descriptor ‘open(filename, 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1338:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1339:15: danger: ‘open(filename, 0)’ could be invalid: unchecked value from [(1)](sarif:/runs/0/results/89/codeFlows/0/threadFlows/0/locations/0)
# 1337|   
# 1338|           fd = open (filename, O_RDONLY);
# 1339|->         len = read (fd, buf, 5);
# 1340|           close (fd);
# 1341|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def800]
plymouth-24.004.60/src/libply/ply-utils.c:1347:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
plymouth-24.004.60/src/libply/ply-utils.c:1338:14: acquire_resource: opened here
plymouth-24.004.60/src/libply/ply-utils.c:1347:12: danger: ‘open(filename, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/90/codeFlows/0/threadFlows/0/locations/0)
# 1345|            * enabled.
# 1346|            */
# 1347|->         if (len == 5)
# 1348|                   if (IS_SECURE_BOOT_ENABLED (buf[4]))
# 1349|                           return true;

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

Error: CPPCHECK_WARNING (CWE-476): [#def802]
plymouth-24.004.60/src/main.c:571: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  569|   
#  570|           entry_trigger = calloc (1, sizeof(ply_entry_trigger_t));
#  571|->         entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_PASSWORD;
#  572|           entry_trigger->prompt = prompt;
#  573|           entry_trigger->trigger = answer;

Error: CPPCHECK_WARNING (CWE-476): [#def803]
plymouth-24.004.60/src/main.c:572: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  570|           entry_trigger = calloc (1, sizeof(ply_entry_trigger_t));
#  571|           entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_PASSWORD;
#  572|->         entry_trigger->prompt = prompt;
#  573|           entry_trigger->trigger = answer;
#  574|           ply_trace ("queuing password request with boot splash");

Error: CPPCHECK_WARNING (CWE-476): [#def804]
plymouth-24.004.60/src/main.c:573: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  571|           entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_PASSWORD;
#  572|           entry_trigger->prompt = prompt;
#  573|->         entry_trigger->trigger = answer;
#  574|           ply_trace ("queuing password request with boot splash");
#  575|           ply_list_append_data (state->entry_triggers, entry_trigger);

Error: CPPCHECK_WARNING (CWE-476): [#def805]
plymouth-24.004.60/src/main.c:587: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  585|   
#  586|           entry_trigger = calloc (1, sizeof(ply_entry_trigger_t));
#  587|->         entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_QUESTION;
#  588|           entry_trigger->prompt = prompt;
#  589|           entry_trigger->trigger = answer;

Error: CPPCHECK_WARNING (CWE-476): [#def806]
plymouth-24.004.60/src/main.c:588: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  586|           entry_trigger = calloc (1, sizeof(ply_entry_trigger_t));
#  587|           entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_QUESTION;
#  588|->         entry_trigger->prompt = prompt;
#  589|           entry_trigger->trigger = answer;
#  590|           ply_trace ("queuing question with boot splash");

Error: CPPCHECK_WARNING (CWE-476): [#def807]
plymouth-24.004.60/src/main.c:589: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry_trigger
#  587|           entry_trigger->type = PLY_ENTRY_TRIGGER_TYPE_QUESTION;
#  588|           entry_trigger->prompt = prompt;
#  589|->         entry_trigger->trigger = answer;
#  590|           ply_trace ("queuing question with boot splash");
#  591|           ply_list_append_data (state->entry_triggers, entry_trigger);

Error: CPPCHECK_WARNING (CWE-476): [#def808]
plymouth-24.004.60/src/main.c:644: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keystroke_trigger
#  642|   
#  643|           ply_trace ("watching for keystroke");
#  644|->         keystroke_trigger->keys = keys;
#  645|           keystroke_trigger->trigger = trigger;
#  646|           ply_list_append_data (state->keystroke_triggers, keystroke_trigger);

Error: CPPCHECK_WARNING (CWE-476): [#def809]
plymouth-24.004.60/src/main.c:645: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: keystroke_trigger
#  643|           ply_trace ("watching for keystroke");
#  644|           keystroke_trigger->keys = keys;
#  645|->         keystroke_trigger->trigger = trigger;
#  646|           ply_list_append_data (state->keystroke_triggers, keystroke_trigger);
#  647|   }

Error: COMPILER_WARNING (CWE-252): [#def810]
plymouth-24.004.60/src/main.c: scope_hint: In function ‘on_newroot’
plymouth-24.004.60/src/main.c:700:9: warning[-Wunused-result]: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’
#  700 |         chdir (root_dir);
#      |         ^~~~~~~~~~~~~~~~
#  698|           }
#  699|   
#  700|->         chdir (root_dir);
#  701|           chroot (".");
#  702|           chdir ("/");

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def814]
plymouth-24.004.60/src/main.c:2017:30: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
plymouth-24.004.60/src/main.c:1992:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2008:25: branch_false: ...to here
plymouth-24.004.60/src/main.c:2012:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2013:40: branch_true: ...to here
plymouth-24.004.60/src/main.c:2013:40: acquire_memory: allocated here
plymouth-24.004.60/src/main.c:2017:30: danger: ‘file’ leaks here; was allocated at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
# 2015|                                   asprintf (&file, "/dev/%s", device);
# 2016|   
# 2017|->                         fd = open (file, O_RDWR | O_APPEND);
# 2018|   
# 2019|                           if (fd < 0)

Error: GCC_ANALYZER_WARNING (CWE-688): [#def815]
plymouth-24.004.60/src/main.c:2017:30: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘file’ where non-null expected
plymouth-24.004.60/src/main.c:1992:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2008:25: branch_false: ...to here
plymouth-24.004.60/src/main.c:2012:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2013:40: branch_true: ...to here
plymouth-24.004.60/src/main.c:2013:40: acquire_memory: this call could return NULL
plymouth-24.004.60/src/main.c:2017:30: danger: argument 1 (‘file’) from [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4) could be NULL where non-null expected
# 2015|                                   asprintf (&file, "/dev/%s", device);
# 2016|   
# 2017|->                         fd = open (file, O_RDWR | O_APPEND);
# 2018|   
# 2019|                           if (fd < 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def816]
plymouth-24.004.60/src/main.c:2020:33: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
plymouth-24.004.60/src/main.c:1992:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2008:25: branch_false: ...to here
plymouth-24.004.60/src/main.c:2012:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2013:40: branch_true: ...to here
plymouth-24.004.60/src/main.c:2013:40: acquire_memory: allocated here
plymouth-24.004.60/src/main.c:2019:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2020:33: branch_true: ...to here
plymouth-24.004.60/src/main.c:2020:33: danger: ‘file’ leaks here; was allocated at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
# 2018|   
# 2019|                           if (fd < 0)
# 2020|->                                 ply_trace ("could not redirected debug output to %s: %m", device);
# 2021|                           else
# 2022|                                   ply_logger_set_output_fd (ply_logger_get_error_default (), fd);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def817]
plymouth-24.004.60/src/main.c:2022:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(file, 1026)’
plymouth-24.004.60/src/main.c:1992:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2008:25: branch_false: ...to here
plymouth-24.004.60/src/main.c:2012:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2015:33: branch_false: ...to here
plymouth-24.004.60/src/main.c:2017:30: acquire_resource: opened here
plymouth-24.004.60/src/main.c:2019:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2022:33: branch_false: ...to here
plymouth-24.004.60/src/main.c:2022:33: danger: ‘open(file, 1026)’ leaks here; was opened at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
# 2020|                                   ply_trace ("could not redirected debug output to %s: %m", device);
# 2021|                           else
# 2022|->                                 ply_logger_set_output_fd (ply_logger_get_error_default (), fd);
# 2023|   
# 2024|                           free (file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def818]
plymouth-24.004.60/src/main.c:2022:33: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
plymouth-24.004.60/src/main.c:1992:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2008:25: branch_false: ...to here
plymouth-24.004.60/src/main.c:2012:28: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2013:40: branch_true: ...to here
plymouth-24.004.60/src/main.c:2013:40: acquire_memory: allocated here
plymouth-24.004.60/src/main.c:2019:28: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2022:33: branch_false: ...to here
plymouth-24.004.60/src/main.c:2022:33: danger: ‘file’ leaks here; was allocated at [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
# 2020|                                   ply_trace ("could not redirected debug output to %s: %m", device);
# 2021|                           else
# 2022|->                                 ply_logger_set_output_fd (ply_logger_get_error_default (), fd);
# 2023|   
# 2024|                           free (file);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def819]
plymouth-24.004.60/src/main.c:2080:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 1026)’
plymouth-24.004.60/src/main.c:2071:14: acquire_resource: opened here
plymouth-24.004.60/src/main.c:2073:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2076:9: branch_false: ...to here
plymouth-24.004.60/src/main.c:2080:9: danger: ‘open("/dev/null", 1026)’ leaks here; was opened at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
# 2078|           dup2 (fd, STDERR_FILENO);
# 2079|   
# 2080|->         close (fd);
# 2081|   
# 2082|           return true;

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def821]
plymouth-24.004.60/src/main.c:2208:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/self/maps", 0)’
plymouth-24.004.60/src/main.c:2197:14: acquire_resource: opened here
plymouth-24.004.60/src/main.c:2199:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/main.c:2202:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2203:17: branch_true: ...to here
plymouth-24.004.60/src/main.c:2206:46: branch_true: following ‘true’ branch (when ‘i < bytes_read’)...
plymouth-24.004.60/src/main.c:2207:29: branch_true: ...to here
plymouth-24.004.60/src/main.c:2208:33: danger: ‘open("/proc/self/maps", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
# 2206|                   for (ssize_t i = line_start; i < bytes_read; ++i) {
# 2207|                           if (maps_buffer[i] == '\n') {
# 2208|->                                 write (output_fd, maps_buffer + line_start, i - line_start + 1);
# 2209|                                   line_start = i + 1;
# 2210|                           }

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def823]
plymouth-24.004.60/src/main.c:2223:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/self/maps", 0)’
plymouth-24.004.60/src/main.c:2197:14: acquire_resource: opened here
plymouth-24.004.60/src/main.c:2199:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/main.c:2202:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2203:17: branch_true: ...to here
plymouth-24.004.60/src/main.c:2206:46: branch_true: following ‘true’ branch (when ‘i < bytes_read’)...
plymouth-24.004.60/src/main.c:2207:29: branch_true: ...to here
plymouth-24.004.60/src/main.c:2222:12: branch_true: following ‘true’ branch (when ‘buffer_end > 0’)...
plymouth-24.004.60/src/main.c:2223:17: branch_true: ...to here
plymouth-24.004.60/src/main.c:2223:17: danger: ‘open("/proc/self/maps", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
# 2221|   
# 2222|           if (buffer_end > 0) {
# 2223|->                 write (output_fd, maps_buffer, buffer_end);
# 2224|           }
# 2225|   

Error: COMPILER_WARNING (CWE-252): [#def824]
plymouth-24.004.60/src/main.c:2223:17: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
# 2223 |                 write (output_fd, maps_buffer, buffer_end);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2221|   
# 2222|           if (buffer_end > 0) {
# 2223|->                 write (output_fd, maps_buffer, buffer_end);
# 2224|           }
# 2225|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def825]
plymouth-24.004.60/src/main.c:2227:1: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/proc/self/maps", 0)’
plymouth-24.004.60/src/main.c:2197:14: acquire_resource: opened here
plymouth-24.004.60/src/main.c:2199:12: branch_false: following ‘false’ branch...
 branch_false: ...to here
plymouth-24.004.60/src/main.c:2222:12: branch_false: following ‘false’ branch (when ‘buffer_end <= 0’)...
plymouth-24.004.60/src/main.c:2226:9: branch_false: ...to here
plymouth-24.004.60/src/main.c:2227:1: danger: ‘open("/proc/self/maps", 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
# 2225|   
# 2226|           close (fd);
# 2227|-> }
# 2228|   
# 2229|   static void

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

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

Error: GCC_ANALYZER_WARNING (CWE-479): [#def828]
plymouth-24.004.60/src/main.c:2284:17: warning[-Wanalyzer-unsafe-call-within-signal-handler]: call to ‘free’ from within signal handler
plymouth-24.004.60/src/main.c:2344:1: enter_function: entry to ‘main’
plymouth-24.004.60/src/main.c:2386:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2397:9: branch_true: ...to here
plymouth-24.004.60/src/main.c:2413:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2427:13: branch_false: ...to here
plymouth-24.004.60/src/main.c:2455:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2460:9: branch_false: ...to here
plymouth-24.004.60/src/main.c:2247:1: enter_function: entry to ‘on_crash’
plymouth-24.004.60/src/main.c:2260:12: branch_false: following ‘false’ branch (when ‘fd < 0’)...
plymouth-24.004.60/src/main.c:2277:13: branch_false: ...to here
plymouth-24.004.60/src/main.c:2277:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/main.c:2282:13: branch_false: ...to here
plymouth-24.004.60/src/main.c:2282:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/main.c:2283:17: branch_true: ...to here
plymouth-24.004.60/src/main.c:2284:17: danger: call to ‘free’ from within signal handler
# 2282|           if (pid_file != NULL) {
# 2283|                   unlink (pid_file);
# 2284|->                 free (pid_file);
# 2285|                   pid_file = NULL;
# 2286|           }

Error: COMPILER_WARNING (CWE-252): [#def829]
plymouth-24.004.60/src/main.c: scope_hint: In function ‘main’
plymouth-24.004.60/src/main.c:2462:9: warning[-Wunused-result]: ignoring return value of ‘chdir’ declared with attribute ‘warn_unused_result’
# 2462 |         chdir ("/");
#      |         ^~~~~~~~~~~
# 2460|           state.no_boot_log = no_boot_log;
# 2461|   
# 2462|->         chdir ("/");
# 2463|           signal (SIGPIPE, SIG_IGN);
# 2464|   

Error: COMPILER_WARNING (CWE-252): [#def830]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c: scope_hint: In function ‘find_default_font_path’
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: GCC_ANALYZER_WARNING (CWE-401): [#def831]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:138:13: warning[-Wanalyzer-malloc-leak]: leak of ‘popen("/usr/bin/fc-match -f %{{file}}", "r")’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:672:1: enter_function: entry to ‘draw_control’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:686:9: call_function: calling ‘update_scale_factor_from_pixel_buffer’ from ‘draw_control’
#  136|           pclose (fp);
#  137|   
#  138|->         if (strcmp (fc_match_out, "") == 0)
#  139|                   return FONT_FALLBACK;
#  140|   

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def833]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:158:13: warning[-Wanalyzer-malloc-leak]: leak of ‘popen("/usr/bin/fc-match -f %{{file}} monospace", "r")’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:672:1: enter_function: entry to ‘draw_control’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:686:9: call_function: calling ‘update_scale_factor_from_pixel_buffer’ from ‘draw_control’
#  156|           pclose (fp);
#  157|   
#  158|->         if (strcmp (fc_match_out, "") == 0)
#  159|                   return MONOSPACE_FONT_FALLBACK;
#  160|   

Error: CPPCHECK_WARNING (CWE-476): [#def834]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:172: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  170|           label = calloc (1, sizeof(ply_label_plugin_control_t));
#  171|   
#  172|->         label->is_hidden = true;
#  173|           label->width = -1;
#  174|           label->text = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def835]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:173: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  171|   
#  172|           label->is_hidden = true;
#  173|->         label->width = -1;
#  174|           label->text = NULL;
#  175|           label->scale_factor = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def836]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:174: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  172|           label->is_hidden = true;
#  173|           label->width = -1;
#  174|->         label->text = NULL;
#  175|           label->scale_factor = 1;
#  176|           label->dimensions_of_lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);

Error: CPPCHECK_WARNING (CWE-476): [#def837]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:175: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  173|           label->width = -1;
#  174|           label->text = NULL;
#  175|->         label->scale_factor = 1;
#  176|           label->dimensions_of_lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#  177|   

Error: CPPCHECK_WARNING (CWE-476): [#def838]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:176: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  174|           label->text = NULL;
#  175|           label->scale_factor = 1;
#  176|->         label->dimensions_of_lines = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_POINTER);
#  177|   
#  178|           error = FT_Init_FreeType (&label->library);

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

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

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

Error: CPPCHECK_WARNING (CWE-476): [#def842]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:447: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entry
#  445|   
#  446|           entry = calloc (1, sizeof(ply_rectangle_t));
#  447|->         *entry = *dimensions;
#  448|           ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  449|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def843]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:447:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entry’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:699:1: enter_function: entry to ‘set_alignment_for_control’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:705:17: call_function: calling ‘trigger_redraw’ from ‘set_alignment_for_control’
#  445|   
#  446|           entry = calloc (1, sizeof(ply_rectangle_t));
#  447|->         *entry = *dimensions;
#  448|           ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  449|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def844]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:448:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:699:1: enter_function: entry to ‘set_alignment_for_control’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:705:17: call_function: calling ‘trigger_redraw’ from ‘set_alignment_for_control’
#  446|           entry = calloc (1, sizeof(ply_rectangle_t));
#  447|           *entry = *dimensions;
#  448|->         ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  449|   
#  450|           dimensions->y += dimensions->height;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def845]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:450:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entry’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:699:1: enter_function: entry to ‘set_alignment_for_control’
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:705:17: call_function: calling ‘trigger_redraw’ from ‘set_alignment_for_control’
#  448|           ply_array_add_pointer_element (label->dimensions_of_lines, entry);
#  449|   
#  450|->         dimensions->y += dimensions->height;
#  451|   }
#  452|   

Error: CPPCHECK_WARNING (CWE-476): [#def846]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:777: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  775|           bool size_in_pixels = false;
#  776|   
#  777|->         label->needs_size_update = true;
#  778|   
#  779|           new_font = strdup (font);

Error: CPPCHECK_WARNING (CWE-476): [#def847]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:780: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  778|   
#  779|           new_font = strdup (font);
#  780|->         free (label->font);
#  781|           label->font = new_font;
#  782|   

Error: CPPCHECK_WARNING (CWE-476): [#def848]
plymouth-24.004.60/src/plugins/controls/label-freetype/plugin.c:781: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#  779|           new_font = strdup (font);
#  780|           free (label->font);
#  781|->         label->font = new_font;
#  782|   
#  783|           if (strstr (font, "Mono") || strstr (font, "mono")) {

Error: CPPCHECK_WARNING (CWE-476): [#def849]
plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c:83: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   81|           label = calloc (1, sizeof(ply_label_plugin_control_t));
#   82|   
#   83|->         label->is_hidden = true;
#   84|           label->alignment = PANGO_ALIGN_LEFT;
#   85|           label->width = -1;

Error: CPPCHECK_WARNING (CWE-476): [#def850]
plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c:84: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   82|   
#   83|           label->is_hidden = true;
#   84|->         label->alignment = PANGO_ALIGN_LEFT;
#   85|           label->width = -1;
#   86|           label->attribute_list = pango_attr_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def851]
plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c:85: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   83|           label->is_hidden = true;
#   84|           label->alignment = PANGO_ALIGN_LEFT;
#   85|->         label->width = -1;
#   86|           label->attribute_list = pango_attr_list_new ();
#   87|   

Error: CPPCHECK_WARNING (CWE-476): [#def852]
plymouth-24.004.60/src/plugins/controls/label-pango/plugin.c:86: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: label
#   84|           label->alignment = PANGO_ALIGN_LEFT;
#   85|           label->width = -1;
#   86|->         label->attribute_list = pango_attr_list_new ();
#   87|   
#   88|           return label;

Error: CPPCHECK_WARNING (CWE-476): [#def853]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:231: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  229|   
#  230|           buffer = calloc (1, sizeof(ply_renderer_buffer_t));
#  231|->         buffer->width = width;
#  232|           buffer->height = height;
#  233|           buffer->map_address = MAP_FAILED;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def854]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:231:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘buffer’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1648:1: enter_function: entry to ‘map_to_device’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1656:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1657:48: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1659:21: call_function: calling ‘ply_renderer_head_map’ from ‘map_to_device’
#  229|   
#  230|           buffer = calloc (1, sizeof(ply_renderer_buffer_t));
#  231|->         buffer->width = width;
#  232|           buffer->height = height;
#  233|           buffer->map_address = MAP_FAILED;

Error: CPPCHECK_WARNING (CWE-476): [#def855]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:232: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  230|           buffer = calloc (1, sizeof(ply_renderer_buffer_t));
#  231|           buffer->width = width;
#  232|->         buffer->height = height;
#  233|           buffer->map_address = MAP_FAILED;
#  234|   

Error: CPPCHECK_WARNING (CWE-476): [#def856]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:233: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buffer
#  231|           buffer->width = width;
#  232|           buffer->height = height;
#  233|->         buffer->map_address = MAP_FAILED;
#  234|   
#  235|           memset (&create_dumb_buffer_request, 0, sizeof(struct drm_mode_create_dumb));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def857]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:242:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1648:1: enter_function: entry to ‘map_to_device’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1656:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1657:48: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1659:21: call_function: calling ‘ply_renderer_head_map’ from ‘map_to_device’
#  240|           create_dumb_buffer_request.flags = 0;
#  241|   
#  242|->         if (drmIoctl (backend->device_fd,
#  243|                         DRM_IOCTL_MODE_CREATE_DUMB,
#  244|                         &create_dumb_buffer_request) < 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def858]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:254:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1648:1: enter_function: entry to ‘map_to_device’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1656:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1657:48: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1659:21: call_function: calling ‘ply_renderer_head_map’ from ‘map_to_device’
#  252|           buffer->map_size = create_dumb_buffer_request.size;
#  253|   
#  254|->         ply_trace ("returning %ux%u buffer with stride %u",
#  255|                      width, height, buffer->row_stride);
#  256|   

Error: CPPCHECK_WARNING (CWE-476): [#def859]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:605: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  603|           head = calloc (1, sizeof(ply_renderer_head_t));
#  604|   
#  605|->         head->backend = backend;
#  606|           head->connector_ids = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_UINT32);
#  607|           head->controller_id = output->controller_id;

Error: CPPCHECK_WARNING (CWE-476): [#def860]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:606: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  604|   
#  605|           head->backend = backend;
#  606|->         head->connector_ids = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_UINT32);
#  607|           head->controller_id = output->controller_id;
#  608|           head->console_buffer_id = console_buffer_id;

Error: CPPCHECK_WARNING (CWE-476): [#def861]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:607: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  605|           head->backend = backend;
#  606|           head->connector_ids = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_UINT32);
#  607|->         head->controller_id = output->controller_id;
#  608|           head->console_buffer_id = console_buffer_id;
#  609|           head->connector0_mode = output->mode;

Error: CPPCHECK_WARNING (CWE-476): [#def862]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:608: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  606|           head->connector_ids = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_UINT32);
#  607|           head->controller_id = output->controller_id;
#  608|->         head->console_buffer_id = console_buffer_id;
#  609|           head->connector0_mode = output->mode;
#  610|           head->uses_hw_rotation = output->uses_hw_rotation;

Error: CPPCHECK_WARNING (CWE-476): [#def863]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:609: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  607|           head->controller_id = output->controller_id;
#  608|           head->console_buffer_id = console_buffer_id;
#  609|->         head->connector0_mode = output->mode;
#  610|           head->uses_hw_rotation = output->uses_hw_rotation;
#  611|   

Error: CPPCHECK_WARNING (CWE-476): [#def864]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:610: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  608|           head->console_buffer_id = console_buffer_id;
#  609|           head->connector0_mode = output->mode;
#  610|->         head->uses_hw_rotation = output->uses_hw_rotation;
#  611|   
#  612|           head->area.x = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def865]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:612: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  610|           head->uses_hw_rotation = output->uses_hw_rotation;
#  611|   
#  612|->         head->area.x = 0;
#  613|           head->area.y = 0;
#  614|           head->area.width = output->mode.hdisplay;

Error: CPPCHECK_WARNING (CWE-476): [#def866]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:613: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  611|   
#  612|           head->area.x = 0;
#  613|->         head->area.y = 0;
#  614|           head->area.width = output->mode.hdisplay;
#  615|           head->area.height = output->mode.vdisplay;

Error: CPPCHECK_WARNING (CWE-476): [#def867]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:614: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  612|           head->area.x = 0;
#  613|           head->area.y = 0;
#  614|->         head->area.width = output->mode.hdisplay;
#  615|           head->area.height = output->mode.vdisplay;
#  616|   

Error: CPPCHECK_WARNING (CWE-476): [#def868]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:615: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  613|           head->area.y = 0;
#  614|           head->area.width = output->mode.hdisplay;
#  615|->         head->area.height = output->mode.vdisplay;
#  616|   
#  617|           if (gamma_size) {

Error: CPPCHECK_WARNING (CWE-476): [#def869]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:618: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  616|   
#  617|           if (gamma_size) {
#  618|->                 head->gamma_size = gamma_size;
#  619|                   head->gamma = malloc (gamma_size * 3 * sizeof(uint16_t));
#  620|   

Error: CPPCHECK_WARNING (CWE-476): [#def870]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:619: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  617|           if (gamma_size) {
#  618|                   head->gamma_size = gamma_size;
#  619|->                 head->gamma = malloc (gamma_size * 3 * sizeof(uint16_t));
#  620|   
#  621|                   step = UINT16_MAX / (gamma_size - 1);

Error: CPPCHECK_WARNING (CWE-476): [#def871]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:623: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  621|                   step = UINT16_MAX / (gamma_size - 1);
#  622|                   for (i = 0; i < gamma_size; i++) {
#  623|->                         head->gamma[0 * gamma_size + i] = i * step; /* red */
#  624|                           head->gamma[1 * gamma_size + i] = i * step; /* green */
#  625|                           head->gamma[2 * gamma_size + i] = i * step; /* blue */

Error: CPPCHECK_WARNING (CWE-476): [#def872]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:624: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  622|                   for (i = 0; i < gamma_size; i++) {
#  623|                           head->gamma[0 * gamma_size + i] = i * step; /* red */
#  624|->                         head->gamma[1 * gamma_size + i] = i * step; /* green */
#  625|                           head->gamma[2 * gamma_size + i] = i * step; /* blue */
#  626|                   }

Error: CPPCHECK_WARNING (CWE-476): [#def873]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:625: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  623|                           head->gamma[0 * gamma_size + i] = i * step; /* red */
#  624|                           head->gamma[1 * gamma_size + i] = i * step; /* green */
#  625|->                         head->gamma[2 * gamma_size + i] = i * step; /* blue */
#  626|                   }
#  627|           }

Error: CPPCHECK_WARNING (CWE-476): [#def874]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:630: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  628|   
#  629|           ply_renderer_head_add_connector (head, output);
#  630|->         assert (ply_array_get_size (head->connector_ids) > 0);
#  631|   
#  632|           head->pixel_buffer = ply_pixel_buffer_new_with_device_rotation (head->area.width, head->area.height, output->rotation);

Error: CPPCHECK_WARNING (CWE-476): [#def875]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:632: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  630|           assert (ply_array_get_size (head->connector_ids) > 0);
#  631|   
#  632|->         head->pixel_buffer = ply_pixel_buffer_new_with_device_rotation (head->area.width, head->area.height, output->rotation);
#  633|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, output->device_scale);
#  634|   

Error: CPPCHECK_WARNING (CWE-476): [#def876]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:633: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  631|   
#  632|           head->pixel_buffer = ply_pixel_buffer_new_with_device_rotation (head->area.width, head->area.height, output->rotation);
#  633|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, output->device_scale);
#  634|   
#  635|           ply_trace ("Creating %ldx%ld renderer head", head->area.width, head->area.height);

Error: CPPCHECK_WARNING (CWE-476): [#def877]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:636: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  634|   
#  635|           ply_trace ("Creating %ldx%ld renderer head", head->area.width, head->area.height);
#  636|->         ply_pixel_buffer_fill_with_color (head->pixel_buffer, NULL,
#  637|                                             0.0, 0.0, 0.0, 1.0);
#  638|           /* Delay flush till first actual draw */

Error: CPPCHECK_WARNING (CWE-476): [#def878]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:639: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  637|                                             0.0, 0.0, 0.0, 1.0);
#  638|           /* Delay flush till first actual draw */
#  639|->         ply_region_clear (ply_pixel_buffer_get_updated_areas (head->pixel_buffer));
#  640|   
#  641|           /*

Error: CPPCHECK_WARNING (CWE-476): [#def879]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:898: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  896|           ply_trace ("creating renderer backend for device %s", backend->device_name);
#  897|   
#  898|->         backend->device_fd = -1;
#  899|   
#  900|           backend->loop = ply_event_loop_get_default ();

Error: CPPCHECK_WARNING (CWE-476): [#def880]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:900: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  898|           backend->device_fd = -1;
#  899|   
#  900|->         backend->loop = ply_event_loop_get_default ();
#  901|           backend->heads = ply_list_new ();
#  902|           backend->input_source.key_buffer = ply_buffer_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def881]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:901: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  899|   
#  900|           backend->loop = ply_event_loop_get_default ();
#  901|->         backend->heads = ply_list_new ();
#  902|           backend->input_source.key_buffer = ply_buffer_new ();
#  903|           backend->input_source.input_devices = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def882]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:902: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  900|           backend->loop = ply_event_loop_get_default ();
#  901|           backend->heads = ply_list_new ();
#  902|->         backend->input_source.key_buffer = ply_buffer_new ();
#  903|           backend->input_source.input_devices = ply_list_new ();
#  904|           backend->terminal = terminal;

Error: CPPCHECK_WARNING (CWE-476): [#def883]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:903: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  901|           backend->heads = ply_list_new ();
#  902|           backend->input_source.key_buffer = ply_buffer_new ();
#  903|->         backend->input_source.input_devices = ply_list_new ();
#  904|           backend->terminal = terminal;
#  905|           backend->local_console_terminal = local_console_terminal;

Error: CPPCHECK_WARNING (CWE-476): [#def884]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:904: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  902|           backend->input_source.key_buffer = ply_buffer_new ();
#  903|           backend->input_source.input_devices = ply_list_new ();
#  904|->         backend->terminal = terminal;
#  905|           backend->local_console_terminal = local_console_terminal;
#  906|           backend->requires_explicit_flushing = true;

Error: CPPCHECK_WARNING (CWE-476): [#def885]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:905: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  903|           backend->input_source.input_devices = ply_list_new ();
#  904|           backend->terminal = terminal;
#  905|->         backend->local_console_terminal = local_console_terminal;
#  906|           backend->requires_explicit_flushing = true;
#  907|           backend->output_buffers = ply_hashtable_new (ply_hashtable_direct_hash,

Error: CPPCHECK_WARNING (CWE-476): [#def886]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:906: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  904|           backend->terminal = terminal;
#  905|           backend->local_console_terminal = local_console_terminal;
#  906|->         backend->requires_explicit_flushing = true;
#  907|           backend->output_buffers = ply_hashtable_new (ply_hashtable_direct_hash,
#  908|                                                        ply_hashtable_direct_compare);

Error: CPPCHECK_WARNING (CWE-476): [#def887]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:907: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  905|           backend->local_console_terminal = local_console_terminal;
#  906|           backend->requires_explicit_flushing = true;
#  907|->         backend->output_buffers = ply_hashtable_new (ply_hashtable_direct_hash,
#  908|                                                        ply_hashtable_direct_compare);
#  909|           backend->heads_by_controller_id = ply_hashtable_new (NULL, NULL);

Error: CPPCHECK_WARNING (CWE-476): [#def888]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:909: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  907|           backend->output_buffers = ply_hashtable_new (ply_hashtable_direct_hash,
#  908|                                                        ply_hashtable_direct_compare);
#  909|->         backend->heads_by_controller_id = ply_hashtable_new (NULL, NULL);
#  910|   
#  911|           return backend;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def889]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1082:27: warning[-Wanalyzer-malloc-leak]: leak of ‘outputs’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1629:1: enter_function: entry to ‘handle_change_event’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1634:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: call_function: calling ‘create_heads_for_active_connectors’ from ‘handle_change_event’
# 1080|   
# 1081|           for (i = 0; i < connector->count_encoders; i++) {
# 1082|->                 encoder = drmModeGetEncoder (backend->device_fd,
# 1083|                                                connector->encoders[i]);
# 1084|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def890]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1089:25: warning[-Wanalyzer-malloc-leak]: leak of ‘outputs’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1629:1: enter_function: entry to ‘handle_change_event’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1634:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: call_function: calling ‘create_heads_for_active_connectors’ from ‘handle_change_event’
# 1087|   
# 1088|                   if (encoder->encoder_id == connector->encoder_id && encoder->crtc_id) {
# 1089|->                         ply_trace ("Found already lit monitor on connector %u using controller %u",
# 1090|                                      connector->connector_id, encoder->crtc_id);
# 1091|                           output->controller_id = encoder->crtc_id;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def891]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1203:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘output’ where non-null expected
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1629:1: enter_function: entry to ‘handle_change_event’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1634:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: call_function: calling ‘create_heads_for_active_connectors’ from ‘handle_change_event’
#argument 1 of ‘__builtin_memset’ must be non-null
# 1201|           bool has_90_rotation = false;
# 1202|   
# 1203|->         memset (output, 0, sizeof(*output));
# 1204|           output->connector_id = connector_id;
# 1205|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def892]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1206:21: warning[-Wanalyzer-malloc-leak]: leak of ‘outputs’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1629:1: enter_function: entry to ‘handle_change_event’
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1634:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1639:15: call_function: calling ‘create_heads_for_active_connectors’ from ‘handle_change_event’
# 1204|           output->connector_id = connector_id;
# 1205|   
# 1206|->         connector = drmModeGetConnector (backend->device_fd, connector_id);
# 1207|           if (connector == NULL)
# 1208|                   return;

Error: CPPCHECK_WARNING (CWE-476): [#def893]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1264: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: outputs
# 1262|                               int                     output_idx)
# 1263|   {
# 1264|->         uint32_t possible_controllers = outputs[output_idx].possible_controllers;
# 1265|           int i, j;
# 1266|   

Error: CPPCHECK_WARNING (CWE-476): [#def894]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1291: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: outputs
# 1289|   
# 1290|           for (i = 0; i < outputs_len; i++) {
# 1291|->                 if (outputs[i].controller_id)
# 1292|                           count++;
# 1293|           }

Error: CPPCHECK_WARNING (CWE-476): [#def895]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1313: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: outputs
# 1311|           for (i = 0; i < outputs_len && best_count < backend->connected_count; i++) {
# 1312|                   /* Not connected or already assigned? */
# 1313|->                 if (!outputs[i].connected || outputs[i].controller_id)
# 1314|                           continue;
# 1315|   

Error: CPPCHECK_WARNING (CWE-476): [#def896]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1326: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_outputs
# 1324|                    */
# 1325|                   new_outputs = calloc (outputs_len, sizeof(*new_outputs));
# 1326|->                 memcpy (new_outputs, outputs, outputs_len * sizeof(ply_output_t));
# 1327|                   new_outputs[i].controller_id = controller_id;
# 1328|   

Error: CPPCHECK_WARNING (CWE-476): [#def897]
plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1327: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_outputs
# 1325|                   new_outputs = calloc (outputs_len, sizeof(*new_outputs));
# 1326|                   memcpy (new_outputs, outputs, outputs_len * sizeof(ply_output_t));
# 1327|->                 new_outputs[i].controller_id = controller_id;
# 1328|   
# 1329|                   /* Recurse into ourselves to assign remaining controllers,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def898]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:189:25: warning[-Wanalyzer-malloc-leak]: leak of ‘row_backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:188:23: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:189:25: danger: ‘row_backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  187|   
#  188|           row_backend = malloc (backend->row_stride);
#  189|->         shadow_buffer = ply_pixel_buffer_get_argb32_data (backend->head.pixel_buffer);
#  190|           for (row = y1; row < y2; row++) {
#  191|                   unsigned long offset;

Error: CPPCHECK_WARNING (CWE-682): [#def899]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:202: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  200|                                                                                          pixel_value);
#  201|   
#  202|->                         memcpy (row_backend + column * backend->bytes_per_pixel,
#  203|                                   &device_pixel_value, backend->bytes_per_pixel);
#  204|                   }

Error: CPPCHECK_WARNING (CWE-682): [#def900]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:207: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  205|   
#  206|                   offset = row * backend->row_stride + x1 * backend->bytes_per_pixel;
#  207|->                 memcpy (head->map_address + offset, row_backend + x1 * backend->bytes_per_pixel,
#  208|                           area_to_flush->width * backend->bytes_per_pixel);
#  209|           }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def901]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:253:12: branch_true: following ‘true’ branch (when ‘device_name’ is non-NULL)...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:17: danger: ‘backend’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  252|   
#  253|           if (device_name != NULL)
#  254|->                 backend->device_name = strdup (device_name);
#  255|           else if (getenv ("FRAMEBUFFER") != NULL)
#  256|                   backend->device_name = strdup (getenv ("FRAMEBUFFER"));

Error: GCC_ANALYZER_WARNING (CWE-476): [#def902]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:256:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:253:12: branch_false: following ‘false’ branch (when ‘device_name’ is NULL)...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:18: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:17: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:256:48: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:256:17: danger: ‘backend’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  254|                   backend->device_name = strdup (device_name);
#  255|           else if (getenv ("FRAMEBUFFER") != NULL)
#  256|->                 backend->device_name = strdup (getenv ("FRAMEBUFFER"));
#  257|           else
#  258|                   backend->device_name =

Error: GCC_ANALYZER_WARNING (CWE-476): [#def903]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:258:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:253:12: branch_false: following ‘false’ branch (when ‘device_name’ is NULL)...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:18: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:255:17: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:259:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:258:17: danger: ‘backend’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  256|                   backend->device_name = strdup (getenv ("FRAMEBUFFER"));
#  257|           else
#  258|->                 backend->device_name =
#  259|                           strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
#  260|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def904]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*backend.device_name’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_true: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: danger: ‘*backend.device_name’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  259|                           strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
#  260|   
#  261|->         ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|           backend->loop = ply_event_loop_get_default ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def905]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  259|                           strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
#  260|   
#  261|->         ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|           backend->loop = ply_event_loop_get_default ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def906]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: danger: ‘backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  259|                           strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
#  260|   
#  261|->         ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|           backend->loop = ply_event_loop_get_default ();

Error: CPPCHECK_WARNING (CWE-476): [#def907]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  261|           ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|->         backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def908]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  261|           ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|->         backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def909]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: danger: ‘backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  261|           ply_trace ("creating renderer backend for device %s", backend->device_name);
#  262|   
#  263|->         backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def910]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:264: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  262|   
#  263|           backend->loop = ply_event_loop_get_default ();
#  264|->         backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def911]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:265: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  263|           backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|->         backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def912]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:265:26: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:265:26: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  263|           backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|->         backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def913]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:265:26: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:265:26: danger: ‘backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
#  263|           backend->loop = ply_event_loop_get_default ();
#  264|           backend->head.map_address = MAP_FAILED;
#  265|->         backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def914]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:266: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();
#  266|->         backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def915]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:266:44: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:266:44: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0)
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();
#  266|->         backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def916]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:266:44: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:266:44: danger: ‘backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/0)
#  264|           backend->head.map_address = MAP_FAILED;
#  265|           backend->heads = ply_list_new ();
#  266|->         backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;

Error: CPPCHECK_WARNING (CWE-476): [#def917]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:267: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  265|           backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|->         backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;
#  269|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def918]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:267:47: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:254:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:267:47: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  265|           backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|->         backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;
#  269|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def919]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:267:47: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:251:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:261:9: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:263:25: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:267:47: danger: ‘backend’ leaks here; was allocated at [(1)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/0)
#  265|           backend->heads = ply_list_new ();
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|->         backend->input_source.input_devices = ply_list_new ();
#  268|           backend->terminal = terminal;
#  269|   

Error: CPPCHECK_WARNING (CWE-476): [#def920]
plymouth-24.004.60/src/plugins/renderers/frame-buffer/plugin.c:268: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  266|           backend->input_source.key_buffer = ply_buffer_new ();
#  267|           backend->input_source.input_devices = ply_list_new ();
#  268|->         backend->terminal = terminal;
#  269|   
#  270|           return backend;

Error: CPPCHECK_WARNING (CWE-476): [#def921]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:130: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  128|           backend = calloc (1, sizeof(ply_renderer_backend_t));
#  129|   
#  130|->         backend->loop = ply_event_loop_get_default ();
#  131|           backend->heads = ply_list_new ();
#  132|           backend->input_source.key_buffer = ply_buffer_new ();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def922]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:130:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘backend’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:125:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:130:9: danger: ‘backend’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  128|           backend = calloc (1, sizeof(ply_renderer_backend_t));
#  129|   
#  130|->         backend->loop = ply_event_loop_get_default ();
#  131|           backend->heads = ply_list_new ();
#  132|           backend->input_source.key_buffer = ply_buffer_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def923]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:130:25: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:125:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:130:25: danger: ‘backend’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  128|           backend = calloc (1, sizeof(ply_renderer_backend_t));
#  129|   
#  130|->         backend->loop = ply_event_loop_get_default ();
#  131|           backend->heads = ply_list_new ();
#  132|           backend->input_source.key_buffer = ply_buffer_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def924]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:131: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  129|   
#  130|           backend->loop = ply_event_loop_get_default ();
#  131|->         backend->heads = ply_list_new ();
#  132|           backend->input_source.key_buffer = ply_buffer_new ();
#  133|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def925]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:131:26: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:125:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:131:26: danger: ‘backend’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  129|   
#  130|           backend->loop = ply_event_loop_get_default ();
#  131|->         backend->heads = ply_list_new ();
#  132|           backend->input_source.key_buffer = ply_buffer_new ();
#  133|   

Error: CPPCHECK_WARNING (CWE-476): [#def926]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:132: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: backend
#  130|           backend->loop = ply_event_loop_get_default ();
#  131|           backend->heads = ply_list_new ();
#  132|->         backend->input_source.key_buffer = ply_buffer_new ();
#  133|   
#  134|           return backend;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def927]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:132:44: warning[-Wanalyzer-malloc-leak]: leak of ‘backend’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:125:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: branch_false: ...to here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:128:19: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:132:44: danger: ‘backend’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  130|           backend->loop = ply_event_loop_get_default ();
#  131|           backend->heads = ply_list_new ();
#  132|->         backend->input_source.key_buffer = ply_buffer_new ();
#  133|   
#  134|           return backend;

Error: CPPCHECK_WARNING (CWE-476): [#def928]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:227: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  225|           head = calloc (1, sizeof(ply_renderer_head_t));
#  226|   
#  227|->         head->backend = backend;
#  228|           head->area.x = 0;
#  229|           head->area.y = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def929]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:227:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:225:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:227:9: danger: ‘head’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  225|           head = calloc (1, sizeof(ply_renderer_head_t));
#  226|   
#  227|->         head->backend = backend;
#  228|           head->area.x = 0;
#  229|           head->area.y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def930]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:228: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  226|   
#  227|           head->backend = backend;
#  228|->         head->area.x = 0;
#  229|           head->area.y = 0;
#  230|           head->area.width = 800;   /* FIXME hardcoded */

Error: CPPCHECK_WARNING (CWE-476): [#def931]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:229: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  227|           head->backend = backend;
#  228|           head->area.x = 0;
#  229|->         head->area.y = 0;
#  230|           head->area.width = 800;   /* FIXME hardcoded */
#  231|           head->area.height = 600;

Error: CPPCHECK_WARNING (CWE-476): [#def932]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:230: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  228|           head->area.x = 0;
#  229|           head->area.y = 0;
#  230|->         head->area.width = 800;   /* FIXME hardcoded */
#  231|           head->area.height = 600;
#  232|           head->scale = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def933]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:231: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  229|           head->area.y = 0;
#  230|           head->area.width = 800;   /* FIXME hardcoded */
#  231|->         head->area.height = 600;
#  232|           head->scale = 1;
#  233|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);

Error: CPPCHECK_WARNING (CWE-476): [#def934]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:232: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  230|           head->area.width = 800;   /* FIXME hardcoded */
#  231|           head->area.height = 600;
#  232|->         head->scale = 1;
#  233|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  234|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);

Error: CPPCHECK_WARNING (CWE-476): [#def935]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:233: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  231|           head->area.height = 600;
#  232|           head->scale = 1;
#  233|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  234|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  235|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def936]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:233:30: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:225:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:233:30: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  231|           head->area.height = 600;
#  232|           head->scale = 1;
#  233|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  234|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  235|   

Error: CPPCHECK_WARNING (CWE-476): [#def937]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:234: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  232|           head->scale = 1;
#  233|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  234|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  235|   
#  236|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def938]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:234:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:225:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:234:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  232|           head->scale = 1;
#  233|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  234|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  235|   
#  236|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def939]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:236:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:225:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:236:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  234|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  235|   
#  236|->         ply_list_append_data (backend->heads, head);
#  237|   
#  238|           head = calloc (1, sizeof(ply_renderer_head_t));

Error: CPPCHECK_WARNING (CWE-476): [#def940]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:240: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  238|           head = calloc (1, sizeof(ply_renderer_head_t));
#  239|   
#  240|->         head->backend = backend;
#  241|           head->area.x = 800;
#  242|           head->area.y = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def941]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:240:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:238:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:240:9: danger: ‘head’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  238|           head = calloc (1, sizeof(ply_renderer_head_t));
#  239|   
#  240|->         head->backend = backend;
#  241|           head->area.x = 800;
#  242|           head->area.y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def942]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:241: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  239|   
#  240|           head->backend = backend;
#  241|->         head->area.x = 800;
#  242|           head->area.y = 0;
#  243|           head->area.width = 640;   /* FIXME hardcoded */

Error: CPPCHECK_WARNING (CWE-476): [#def943]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:242: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  240|           head->backend = backend;
#  241|           head->area.x = 800;
#  242|->         head->area.y = 0;
#  243|           head->area.width = 640;   /* FIXME hardcoded */
#  244|           head->area.height = 480;

Error: CPPCHECK_WARNING (CWE-476): [#def944]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:243: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  241|           head->area.x = 800;
#  242|           head->area.y = 0;
#  243|->         head->area.width = 640;   /* FIXME hardcoded */
#  244|           head->area.height = 480;
#  245|           head->scale = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def945]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:244: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  242|           head->area.y = 0;
#  243|           head->area.width = 640;   /* FIXME hardcoded */
#  244|->         head->area.height = 480;
#  245|           head->scale = 1;
#  246|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);

Error: CPPCHECK_WARNING (CWE-476): [#def946]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:245: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  243|           head->area.width = 640;   /* FIXME hardcoded */
#  244|           head->area.height = 480;
#  245|->         head->scale = 1;
#  246|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  247|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);

Error: CPPCHECK_WARNING (CWE-476): [#def947]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:246: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  244|           head->area.height = 480;
#  245|           head->scale = 1;
#  246|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  247|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  248|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def948]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:246:30: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:238:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:246:30: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  244|           head->area.height = 480;
#  245|           head->scale = 1;
#  246|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  247|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  248|   

Error: CPPCHECK_WARNING (CWE-476): [#def949]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:247: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  245|           head->scale = 1;
#  246|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  247|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  248|   
#  249|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def950]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:247:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:238:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:247:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  245|           head->scale = 1;
#  246|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  247|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  248|   
#  249|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def951]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:249:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:238:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:249:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  247|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  248|   
#  249|->         ply_list_append_data (backend->heads, head);
#  250|   }
#  251|   

Error: CPPCHECK_WARNING (CWE-476): [#def952]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:272: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  270|           head = calloc (1, sizeof(ply_renderer_head_t));
#  271|   
#  272|->         head->backend = backend;
#  273|           head->area.x = monitor_geometry.x;
#  274|           head->area.y = monitor_geometry.y;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def953]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:272:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:270:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:272:9: danger: ‘head’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  270|           head = calloc (1, sizeof(ply_renderer_head_t));
#  271|   
#  272|->         head->backend = backend;
#  273|           head->area.x = monitor_geometry.x;
#  274|           head->area.y = monitor_geometry.y;

Error: CPPCHECK_WARNING (CWE-476): [#def954]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:273: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  271|   
#  272|           head->backend = backend;
#  273|->         head->area.x = monitor_geometry.x;
#  274|           head->area.y = monitor_geometry.y;
#  275|           head->area.width = monitor_geometry.width;

Error: CPPCHECK_WARNING (CWE-476): [#def955]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:274: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  272|           head->backend = backend;
#  273|           head->area.x = monitor_geometry.x;
#  274|->         head->area.y = monitor_geometry.y;
#  275|           head->area.width = monitor_geometry.width;
#  276|           head->area.height = monitor_geometry.height;

Error: CPPCHECK_WARNING (CWE-476): [#def956]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:275: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  273|           head->area.x = monitor_geometry.x;
#  274|           head->area.y = monitor_geometry.y;
#  275|->         head->area.width = monitor_geometry.width;
#  276|           head->area.height = monitor_geometry.height;
#  277|           head->is_fullscreen = true;

Error: CPPCHECK_WARNING (CWE-476): [#def957]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:276: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  274|           head->area.y = monitor_geometry.y;
#  275|           head->area.width = monitor_geometry.width;
#  276|->         head->area.height = monitor_geometry.height;
#  277|           head->is_fullscreen = true;
#  278|           head->scale = ply_get_device_scale (monitor_geometry.width,

Error: CPPCHECK_WARNING (CWE-476): [#def958]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:277: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  275|           head->area.width = monitor_geometry.width;
#  276|           head->area.height = monitor_geometry.height;
#  277|->         head->is_fullscreen = true;
#  278|           head->scale = ply_get_device_scale (monitor_geometry.width,
#  279|                                               monitor_geometry.height,

Error: CPPCHECK_WARNING (CWE-476): [#def959]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:278: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  276|           head->area.height = monitor_geometry.height;
#  277|           head->is_fullscreen = true;
#  278|->         head->scale = ply_get_device_scale (monitor_geometry.width,
#  279|                                               monitor_geometry.height,
#  280|                                               width_mm, height_mm);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def960]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:278:23: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:270:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:278:23: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  276|           head->area.height = monitor_geometry.height;
#  277|           head->is_fullscreen = true;
#  278|->         head->scale = ply_get_device_scale (monitor_geometry.width,
#  279|                                               monitor_geometry.height,
#  280|                                               width_mm, height_mm);

Error: CPPCHECK_WARNING (CWE-476): [#def961]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:281: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  279|                                               monitor_geometry.height,
#  280|                                               width_mm, height_mm);
#  281|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  282|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  283|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def962]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:281:30: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:270:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:281:30: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  279|                                               monitor_geometry.height,
#  280|                                               width_mm, height_mm);
#  281|->         head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  282|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  283|   

Error: CPPCHECK_WARNING (CWE-476): [#def963]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:282: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: head
#  280|                                               width_mm, height_mm);
#  281|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  282|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  283|   
#  284|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def964]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:282:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:270:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:282:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  280|                                               width_mm, height_mm);
#  281|           head->pixel_buffer = ply_pixel_buffer_new (head->area.width, head->area.height);
#  282|->         ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  283|   
#  284|           ply_list_append_data (backend->heads, head);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def965]
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:284:9: warning[-Wanalyzer-malloc-leak]: leak of ‘head’
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:270:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/renderers/x11/plugin.c:284:9: danger: ‘head’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  282|           ply_pixel_buffer_set_device_scale (head->pixel_buffer, head->scale);
#  283|   
#  284|->         ply_list_append_data (backend->heads, head);
#  285|   }
#  286|   

Error: CPPCHECK_WARNING (CWE-476): [#def966]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:90: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   88|   
#   89|           view = calloc (1, sizeof(view_t));
#   90|->         view->plugin = plugin;
#   91|           view->display = display;
#   92|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def967]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:90:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:253:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:259:16: call_function: inlined call to ‘view_new’ from ‘add_text_display’
#   88|   
#   89|           view = calloc (1, sizeof(view_t));
#   90|->         view->plugin = plugin;
#   91|           view->display = display;
#   92|   

Error: CPPCHECK_WARNING (CWE-476): [#def968]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:91: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   89|           view = calloc (1, sizeof(view_t));
#   90|           view->plugin = plugin;
#   91|->         view->display = display;
#   92|   
#   93|           return view;

Error: CPPCHECK_WARNING (CWE-476): [#def969]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:158: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def970]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:158:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:157:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/details/plugin.c:158:9: danger: ‘plugin’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  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: GCC_ANALYZER_WARNING (CWE-401): [#def971]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:158:25: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:157:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/details/plugin.c:158:25: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  156|   
#  157|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  158|->         plugin->views = ply_list_new ();
#  159|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  160|           plugin->messages = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def972]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:159: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  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 ();
#  161|           return plugin;

Error: CPPCHECK_WARNING (CWE-476): [#def973]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:160: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  158|           plugin->views = ply_list_new ();
#  159|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  160|->         plugin->messages = ply_list_new ();
#  161|           return plugin;
#  162|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def974]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:160:28: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:157:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/details/plugin.c:160:28: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  158|           plugin->views = ply_list_new ();
#  159|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  160|->         plugin->messages = ply_list_new ();
#  161|           return plugin;
#  162|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def975]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:261:20: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:253:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:259:16: call_function: inlined call to ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:261:20: danger: ‘view’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  259|           view = view_new (plugin, display);
#  260|   
#  261|->         terminal = ply_text_display_get_terminal (view->display);
#  262|           ply_terminal_open (terminal);
#  263|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def976]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:262:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:253:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:259:16: call_function: inlined call to ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:262:9: danger: ‘view’ leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  260|   
#  261|           terminal = ply_text_display_get_terminal (view->display);
#  262|->         ply_terminal_open (terminal);
#  263|   
#  264|           ply_list_append_data (plugin->views, view);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def977]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:264:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:253:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:259:16: call_function: inlined call to ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:264:9: danger: ‘view’ leaks here; was allocated at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#  262|           ply_terminal_open (terminal);
#  263|   
#  264|->         ply_list_append_data (plugin->views, view);
#  265|   
#  266|           if (ply_terminal_is_vt (terminal)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def978]
plymouth-24.004.60/src/plugins/splash/details/plugin.c:444:17: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(message)’
plymouth-24.004.60/src/plugins/splash/details/plugin.c:444:57: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/details/plugin.c:444:17: danger: ‘strdup(message)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  442|                   write_on_views (plugin, "\n", strlen ("\n"));
#  443|           } else {
#  444|->                 ply_list_append_data (plugin->messages, strdup (message));
#  445|           }
#  446|   }

Error: CPPCHECK_WARNING (CWE-476): [#def979]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:234: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  232|   
#  233|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  234|->         plugin->start_time = 0.0;
#  235|   
#  236|           plugin->logo_image = ply_image_new (PLYMOUTH_LOGO_FILE);

Error: CPPCHECK_WARNING (CWE-476): [#def980]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:236: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  234|           plugin->start_time = 0.0;
#  235|   
#  236|->         plugin->logo_image = ply_image_new (PLYMOUTH_LOGO_FILE);
#  237|           image_dir = ply_key_file_get_value (key_file, "fade-throbber", "ImageDir");
#  238|   

Error: COMPILER_WARNING (CWE-252): [#def981]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c: scope_hint: In function ‘create_plugin’
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: CPPCHECK_WARNING (CWE-476): [#def982]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:240: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  238|   
#  239|           asprintf (&image_path, "%s/star.png", image_dir);
#  240|->         plugin->star_image = ply_image_new (image_path);
#  241|           free (image_path);
#  242|   

Error: COMPILER_WARNING (CWE-252): [#def983]
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: CPPCHECK_WARNING (CWE-476): [#def984]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:244: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  242|   
#  243|           asprintf (&image_path, "%s/lock.png", image_dir);
#  244|->         plugin->lock_image = ply_image_new (image_path);
#  245|           free (image_path);
#  246|   

Error: CPPCHECK_WARNING (CWE-476): [#def985]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:247: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  245|           free (image_path);
#  246|   
#  247|->         plugin->plugin_console_messages_updating = false;
#  248|           plugin->should_show_console_messages = false;
#  249|   

Error: CPPCHECK_WARNING (CWE-476): [#def986]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:248: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  246|   
#  247|           plugin->plugin_console_messages_updating = false;
#  248|->         plugin->should_show_console_messages = false;
#  249|   
#  250|           /* Likely only able to set the font if the font is in the initrd */

Error: CPPCHECK_WARNING (CWE-476): [#def987]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:251: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  249|   
#  250|           /* Likely only able to set the font if the font is in the initrd */
#  251|->         plugin->monospace_font = ply_key_file_get_value (key_file, "two-step", "MonospaceFont");
#  252|   
#  253|           if (plugin->monospace_font == NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def988]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:253: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  251|           plugin->monospace_font = ply_key_file_get_value (key_file, "two-step", "MonospaceFont");
#  252|   
#  253|->         if (plugin->monospace_font == NULL)
#  254|                   plugin->monospace_font = strdup ("monospace 10");
#  255|   

Error: CPPCHECK_WARNING (CWE-476): [#def989]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:256: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  254|                   plugin->monospace_font = strdup ("monospace 10");
#  255|   
#  256|->         plugin->console_text_color =
#  257|                   ply_key_file_get_ulong (key_file, "fade-throbber",
#  258|                                           "ConsoleLogTextColor",

Error: CPPCHECK_WARNING (CWE-476): [#def990]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:261: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  259|                                           PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
#  260|   
#  261|->         plugin->image_dir = image_dir;
#  262|   
#  263|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;

Error: CPPCHECK_WARNING (CWE-476): [#def991]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:263: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  261|           plugin->image_dir = image_dir;
#  262|   
#  263|->         plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  264|           plugin->views = ply_list_new ();
#  265|   

Error: CPPCHECK_WARNING (CWE-476): [#def992]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:264: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  262|   
#  263|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  264|->         plugin->views = ply_list_new ();
#  265|   
#  266|           plugin->needs_redraw = true;

Error: CPPCHECK_WARNING (CWE-476): [#def993]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:266: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  264|           plugin->views = ply_list_new ();
#  265|   
#  266|->         plugin->needs_redraw = true;
#  267|   
#  268|           return plugin;

Error: CPPCHECK_WARNING (CWE-476): [#def994]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:279: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star
#  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): [#def995]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:279:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:966:1: enter_function: entry to ‘view_add_star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:976:9: branch_true: following ‘true’ branch (when ‘view’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:978:9: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1030:18: branch_false: following ‘false’ branch (when ‘node’ is NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:42: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:16: call_function: calling ‘star_new’ from ‘view_add_star’
#  277|   
#  278|           star = calloc (1, sizeof(star_t));
#  279|->         star->x = x;
#  280|           star->y = y;
#  281|           star->speed = speed;

Error: CPPCHECK_WARNING (CWE-476): [#def996]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:280: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star
#  278|           star = calloc (1, sizeof(star_t));
#  279|           star->x = x;
#  280|->         star->y = y;
#  281|           star->speed = speed;
#  282|           star->start_time = ply_get_timestamp ();

Error: CPPCHECK_WARNING (CWE-476): [#def997]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:281: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star
#  279|           star->x = x;
#  280|           star->y = y;
#  281|->         star->speed = speed;
#  282|           star->start_time = ply_get_timestamp ();
#  283|   

Error: CPPCHECK_WARNING (CWE-476): [#def998]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:282: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star
#  280|           star->y = y;
#  281|           star->speed = speed;
#  282|->         star->start_time = ply_get_timestamp ();
#  283|   
#  284|           return star;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def999]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:282:28: warning[-Wanalyzer-malloc-leak]: leak of ‘star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:966:1: enter_function: entry to ‘view_add_star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:976:9: branch_true: following ‘true’ branch (when ‘view’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:978:9: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1030:18: branch_false: following ‘false’ branch (when ‘node’ is NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:42: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:16: call_function: calling ‘star_new’ from ‘view_add_star’
#  280|           star->y = y;
#  281|           star->speed = speed;
#  282|->         star->start_time = ply_get_timestamp ();
#  283|   
#  284|           return star;

Error: CPPCHECK_WARNING (CWE-476): [#def1000]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:326: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  324|   
#  325|           view = calloc (1, sizeof(view_t));
#  326|->         view->plugin = plugin;
#  327|           view->display = display;
#  328|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1001]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:326:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  324|   
#  325|           view = calloc (1, sizeof(view_t));
#  326|->         view->plugin = plugin;
#  327|           view->display = display;
#  328|   

Error: CPPCHECK_WARNING (CWE-476): [#def1002]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:327: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  325|           view = calloc (1, sizeof(view_t));
#  326|           view->plugin = plugin;
#  327|->         view->display = display;
#  328|   
#  329|           view->entry = ply_entry_new (plugin->image_dir);

Error: CPPCHECK_WARNING (CWE-476): [#def1003]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:329: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  327|           view->display = display;
#  328|   
#  329|->         view->entry = ply_entry_new (plugin->image_dir);
#  330|           view->stars = ply_list_new ();
#  331|           view->label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1004]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:329:23: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  327|           view->display = display;
#  328|   
#  329|->         view->entry = ply_entry_new (plugin->image_dir);
#  330|           view->stars = ply_list_new ();
#  331|           view->label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1005]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:330: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  328|   
#  329|           view->entry = ply_entry_new (plugin->image_dir);
#  330|->         view->stars = ply_list_new ();
#  331|           view->label = ply_label_new ();
#  332|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1006]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:330:23: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  328|   
#  329|           view->entry = ply_entry_new (plugin->image_dir);
#  330|->         view->stars = ply_list_new ();
#  331|           view->label = ply_label_new ();
#  332|   

Error: CPPCHECK_WARNING (CWE-476): [#def1007]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:331: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  329|           view->entry = ply_entry_new (plugin->image_dir);
#  330|           view->stars = ply_list_new ();
#  331|->         view->label = ply_label_new ();
#  332|   
#  333|           view->message_label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1008]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:331:23: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  329|           view->entry = ply_entry_new (plugin->image_dir);
#  330|           view->stars = ply_list_new ();
#  331|->         view->label = ply_label_new ();
#  332|   
#  333|           view->message_label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1009]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:333: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  331|           view->label = ply_label_new ();
#  332|   
#  333|->         view->message_label = ply_label_new ();
#  334|   
#  335|           if (ply_console_viewer_preferred ()) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1010]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:333:31: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  331|           view->label = ply_label_new ();
#  332|   
#  333|->         view->message_label = ply_label_new ();
#  334|   
#  335|           if (ply_console_viewer_preferred ()) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1011]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:335:13: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:859:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:864:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
#  333|           view->message_label = ply_label_new ();
#  334|   
#  335|->         if (ply_console_viewer_preferred ()) {
#  336|                   view->console_viewer = ply_console_viewer_new (view->display, plugin->monospace_font);
#  337|                   ply_console_viewer_set_text_color (view->console_viewer, plugin->console_text_color);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1012]
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1034:1: warning[-Wanalyzer-malloc-leak]: leak of ‘star_new((int)ply_get_random_number(0, (long int)ply_pixel_display_get_width(*view.display)), (int)ply_get_random_number(0, (long int)ply_pixel_display_get_height(*view.display)), (double)(ply_get_random_number(0, 50) + 1))’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:966:1: enter_function: entry to ‘view_add_star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:976:9: branch_true: following ‘true’ branch (when ‘view’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:978:9: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1030:18: branch_false: following ‘false’ branch (when ‘node’ is NULL)...
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:42: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:16: call_function: calling ‘star_new’ from ‘view_add_star’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1032:16: return_function: returning to ‘view_add_star’ from ‘star_new’
plymouth-24.004.60/src/plugins/splash/fade-throbber/plugin.c:1034:1: danger: ‘star_new((int)ply_get_random_number(0, (long int)ply_pixel_display_get_width(*view.display)), (int)ply_get_random_number(0, (long int)ply_pixel_display_get_height(*view.display)), (double)(ply_get_random_number(0, 50) + 1))’ leaks here; was allocated at [(8)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/7)
# 1032|           star = star_new (x, y, (double) ((ply_get_random_number (0, 50)) + 1));
# 1033|           ply_list_append_data (view->stars, star);
# 1034|-> }
# 1035|   
# 1036|   static void

Error: CPPCHECK_WARNING (CWE-476): [#def1013]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:159: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1014]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:159:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_env_var’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:158:23: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/plugin.c:159:9: danger: ‘new_env_var’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1015]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:160: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_env_var
#  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|   
#  162|           ply_list_append_data (script_env_vars, new_env_var);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1016]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:162:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:159:28: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:162:9: danger: ‘<unknown>’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  160|           new_env_var->value = strdup (value);
#  161|   
#  162|->         ply_list_append_data (script_env_vars, new_env_var);
#  163|   }
#  164|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1017]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:162:9: warning[-Wanalyzer-malloc-leak]: leak of ‘new_env_var’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:158:23: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:162:9: danger: ‘new_env_var’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  160|           new_env_var->value = strdup (value);
#  161|   
#  162|->         ply_list_append_data (script_env_vars, new_env_var);
#  163|   }
#  164|   

Error: CPPCHECK_WARNING (CWE-476): [#def1018]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1019]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:171:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/plugin.c:171:9: danger: ‘plugin’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1020]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:171:29: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:171:29: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1021]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:174: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  172|                                                       "script",
#  173|                                                       "ImageDir");
#  174|->         plugin->script_filename = ply_key_file_get_value (key_file,
#  175|                                                             "script",
#  176|                                                             "ScriptFile");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1022]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:174:35: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:174:35: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  172|                                                       "script",
#  173|                                                       "ImageDir");
#  174|->         plugin->script_filename = ply_key_file_get_value (key_file,
#  175|                                                             "script",
#  176|                                                             "ScriptFile");

Error: CPPCHECK_WARNING (CWE-476): [#def1023]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:178: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  176|                                                             "ScriptFile");
#  177|   
#  178|->         plugin->script_env_vars = ply_list_new ();
#  179|           ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1024]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:178:35: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:178:35: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  176|                                                             "ScriptFile");
#  177|   
#  178|->         plugin->script_env_vars = ply_list_new ();
#  179|           ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   

Error: CPPCHECK_WARNING (CWE-476): [#def1025]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:179: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  177|   
#  178|           plugin->script_env_vars = ply_list_new ();
#  179|->         ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   
#  181|           plugin->displays = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1026]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:179:9: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:179:9: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  177|   
#  178|           plugin->script_env_vars = ply_list_new ();
#  179|->         ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   
#  181|           plugin->displays = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1027]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:181: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  179|           ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   
#  181|->         plugin->displays = ply_list_new ();
#  182|           return plugin;
#  183|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1028]
plymouth-24.004.60/src/plugins/splash/script/plugin.c:181:28: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/script/plugin.c:170:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/plugin.c:181:28: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  179|           ply_key_file_foreach_entry (key_file, add_script_env_var, plugin->script_env_vars);
#  180|   
#  181|->         plugin->displays = ply_list_new ();
#  182|           return plugin;
#  183|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1029]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:48: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def1030]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:48:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_location’
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:47:49: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:48:9: danger: ‘new_location’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   46|           script_debug_setup ();
#   47|           script_debug_location_t *new_location = malloc (sizeof(script_debug_location_t));
#   48|->         new_location->line_index = location->line_index;
#   49|           new_location->column_index = location->column_index;
#   50|           new_location->name = ply_hashtable_lookup (script_debug_name_hash, location->name);

Error: CPPCHECK_WARNING (CWE-476): [#def1031]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:49: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_location
#   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);
#   51|           if (!new_location->name) {

Error: CPPCHECK_WARNING (CWE-476): [#def1032]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_location
#   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);
#   51|           if (!new_location->name) {
#   52|                   new_location->name = strdup (location->name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1033]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:50:30: warning[-Wanalyzer-malloc-leak]: leak of ‘new_location’
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:47:49: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:50:30: danger: ‘new_location’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   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);
#   51|           if (!new_location->name) {
#   52|                   new_location->name = strdup (location->name);

Error: CPPCHECK_WARNING (CWE-476): [#def1034]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:51: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_location
#   49|           new_location->column_index = location->column_index;
#   50|           new_location->name = ply_hashtable_lookup (script_debug_name_hash, location->name);
#   51|->         if (!new_location->name) {
#   52|                   new_location->name = strdup (location->name);
#   53|                   ply_hashtable_insert (script_debug_name_hash, new_location->name, new_location->name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1035]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:53:17: warning[-Wanalyzer-malloc-leak]: leak of ‘new_location’
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:47:49: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:51:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:52:46: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:53:17: danger: ‘new_location’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   51|           if (!new_location->name) {
#   52|                   new_location->name = strdup (location->name);
#   53|->                 ply_hashtable_insert (script_debug_name_hash, new_location->name, new_location->name);
#   54|           }
#   55|           ply_hashtable_insert (script_debug_location_hash, element, new_location);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1036]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:53:17: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(*location.name)’
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:51:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:52:46: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:52:38: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:53:17: danger: ‘strdup(*location.name)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   51|           if (!new_location->name) {
#   52|                   new_location->name = strdup (location->name);
#   53|->                 ply_hashtable_insert (script_debug_name_hash, new_location->name, new_location->name);
#   54|           }
#   55|           ply_hashtable_insert (script_debug_location_hash, element, new_location);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1037]
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:55:9: warning[-Wanalyzer-malloc-leak]: leak of ‘new_location’
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:47:49: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-debug.c:55:9: danger: ‘new_location’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#   53|                   ply_hashtable_insert (script_debug_name_hash, new_location->name, new_location->name);
#   54|           }
#   55|->         ply_hashtable_insert (script_debug_location_hash, element, new_location);
#   56|   }
#   57|   

Error: COMPILER_WARNING (CWE-252): [#def1038]
plymouth-24.004.60/src/plugins/splash/script/script-execute.c: scope_hint: In function ‘script_evaluate_set’
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): [#def1039]
plymouth-24.004.60/src/plugins/splash/script/script-execute.c: scope_hint: In function ‘script_execute_function_with_parlist’
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): [#def1040]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c: scope_hint: In function ‘image_new’
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-401): [#def1041]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:71:35: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:71:35: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/6)
#   69|                   asprintf (&path_filename, "%s/%s", data->image_dir, filename);
#   70|           }
#   71|->         ply_image_t *file_image = ply_image_new (path_filename);
#   72|   
#   73|           if (ply_image_load (file_image)) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1042]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:13: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:13: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/6)
#   71|           ply_image_t *file_image = ply_image_new (path_filename);
#   72|   
#   73|->         if (ply_image_load (file_image)) {
#   74|                   ply_pixel_buffer_t *buffer = ply_image_convert_to_pixel_buffer (file_image);
#   75|                   reply = script_obj_new_native (buffer, data->class);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1043]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:74:46: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:74:46: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:74:46: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
#   72|   
#   73|           if (ply_image_load (file_image)) {
#   74|->                 ply_pixel_buffer_t *buffer = ply_image_convert_to_pixel_buffer (file_image);
#   75|                   reply = script_obj_new_native (buffer, data->class);
#   76|           } else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1044]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:75:25: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:74:46: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:75:25: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/6)
#   73|           if (ply_image_load (file_image)) {
#   74|                   ply_pixel_buffer_t *buffer = ply_image_convert_to_pixel_buffer (file_image);
#   75|->                 reply = script_obj_new_native (buffer, data->class);
#   76|           } else {
#   77|                   ply_image_free (file_image);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1045]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:77:17: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:77:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:77:17: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/6)
#   75|                   reply = script_obj_new_native (buffer, data->class);
#   76|           } else {
#   77|->                 ply_image_free (file_image);
#   78|                   reply = script_obj_new_null ();
#   79|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1046]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:78:25: warning[-Wanalyzer-malloc-leak]: leak of ‘path_filename’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:59:16: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:63:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:21: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:64:20: branch_true: following ‘true’ branch (when the strings are equal)...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:65:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:73:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:77:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:78:25: danger: ‘path_filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
#   76|           } else {
#   77|                   ply_image_free (file_image);
#   78|->                 reply = script_obj_new_null ();
#   79|           }
#   80|           free (filename);

Error: CPPCHECK_WARNING (CWE-476): [#def1047]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:268: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  266|           script_lib_image_data_t *data = malloc (sizeof(script_lib_image_data_t));
#  267|   
#  268|->         data->class = script_obj_native_class_new (image_free, "image", data);
#  269|           data->image_dir = strdup (image_dir);
#  270|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1048]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:268:23: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:266:41: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:268:23: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  266|           script_lib_image_data_t *data = malloc (sizeof(script_lib_image_data_t));
#  267|   
#  268|->         data->class = script_obj_native_class_new (image_free, "image", data);
#  269|           data->image_dir = strdup (image_dir);
#  270|   

Error: CPPCHECK_WARNING (CWE-476): [#def1049]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:269: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  267|   
#  268|           data->class = script_obj_native_class_new (image_free, "image", data);
#  269|->         data->image_dir = strdup (image_dir);
#  270|   
#  271|           script_obj_t *image_hash = script_obj_hash_get_element (state->global, "Image");

Error: CPPCHECK_WARNING (CWE-476): [#def1050]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:332: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  330|   
#  331|           script_obj_unref (image_hash);
#  332|->         data->script_main_op = script_parse_string (script_lib_image_string, "script-lib-image.script");
#  333|           script_return_t ret = script_execute (state, data->script_main_op);
#  334|   

Error: CPPCHECK_WARNING (CWE-476): [#def1051]
plymouth-24.004.60/src/plugins/splash/script/script-lib-image.c:333: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  331|           script_obj_unref (image_hash);
#  332|           data->script_main_op = script_parse_string (script_lib_image_string, "script-lib-image.script");
#  333|->         script_return_t ret = script_execute (state, data->script_main_op);
#  334|   
#  335|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1052]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:73:35: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:73:35: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   71|   
#   72|   
#   73|->         script_obj_t *math_hash = script_obj_hash_get_element (state->global, "Math");
#   74|   
#   75|           script_add_native_function (math_hash,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1053]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:75:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:75:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   73|           script_obj_t *math_hash = script_obj_hash_get_element (state->global, "Math");
#   74|   
#   75|->         script_add_native_function (math_hash,
#   76|                                       "Cos",
#   77|                                       script_lib_math_double_from_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1054]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:81:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:81:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   79|                                       "value",
#   80|                                       NULL);
#   81|->         script_add_native_function (math_hash,
#   82|                                       "Sin",
#   83|                                       script_lib_math_double_from_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1055]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:87:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:87:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   85|                                       "value",
#   86|                                       NULL);
#   87|->         script_add_native_function (math_hash,
#   88|                                       "Tan",
#   89|                                       script_lib_math_double_from_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1056]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:93:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:93:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#   91|                                       "value",
#   92|                                       NULL);
#   93|->         script_add_native_function (math_hash,
#   94|                                       "ATan2",
#   95|                                       script_lib_math_double_from_double_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1057]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:100:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:100:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#   98|                                       "value_b",
#   99|                                       NULL);
#  100|->         script_add_native_function (math_hash,
#  101|                                       "Sqrt",
#  102|                                       script_lib_math_double_from_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1058]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:106:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:106:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  104|                                       "value",
#  105|                                       NULL);
#  106|->         script_add_native_function (math_hash,
#  107|                                       "Int",
#  108|                                       script_lib_math_double_from_double_function,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1059]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:112:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:112:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  110|                                       "value",
#  111|                                       NULL);
#  112|->         script_add_native_function (math_hash,
#  113|                                       "Random",
#  114|                                       script_lib_math_random,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1060]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:117:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:117:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  115|                                       NULL,
#  116|                                       NULL);
#  117|->         script_obj_unref (math_hash);
#  118|   
#  119|           data->script_main_op = script_parse_string (script_lib_math_string, "script-lib-math.script");

Error: CPPCHECK_WARNING (CWE-476): [#def1061]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1062]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119:9: danger: ‘data’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1063]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:119:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1064]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  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|   
#  122|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1065]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:120:31: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:120:31: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  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|   
#  122|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1066]
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:122:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:70:40: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-math.c:122:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  120|           script_return_t ret = script_execute (state, data->script_main_op);
#  121|   
#  122|->         script_obj_unref (ret.object);
#  123|   
#  124|           return data;

Error: CPPCHECK_WARNING (CWE-476): [#def1067]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1068]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122:9: danger: ‘data’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1069]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122:37: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:122:37: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  120|           script_lib_plymouth_data_t *data = malloc (sizeof(script_lib_plymouth_data_t));
#  121|   
#  122|->         data->script_refresh_func = script_obj_new_null ();
#  123|           data->script_boot_progress_func = script_obj_new_null ();
#  124|           data->script_root_mounted_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1070]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:123: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  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 ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1071]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:123:43: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:123:43: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  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 ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1072]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:124: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  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 ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1073]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:124:42: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:124:42: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  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 ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1074]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:125: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  123|           data->script_boot_progress_func = script_obj_new_null ();
#  124|           data->script_root_mounted_func = script_obj_new_null ();
#  125|->         data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1075]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:125:44: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:125:44: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  123|           data->script_boot_progress_func = script_obj_new_null ();
#  124|           data->script_root_mounted_func = script_obj_new_null ();
#  125|->         data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1076]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:126: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  124|           data->script_root_mounted_func = script_obj_new_null ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|->         data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1077]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:126:43: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:126:43: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  124|           data->script_root_mounted_func = script_obj_new_null ();
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|->         data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1078]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:127: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|->         data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1079]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:127:44: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:127:44: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  125|           data->script_keyboard_input_func = script_obj_new_null ();
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|->         data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1080]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:128: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|->         data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1081]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:128:46: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:128:46: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  126|           data->script_update_status_func = script_obj_new_null ();
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|->         data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1082]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:129: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|->         data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1083]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:129:46: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:129:46: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  127|           data->script_display_normal_func = script_obj_new_null ();
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|->         data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1084]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:130: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|->         data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1085]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:130:44: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:130:44: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  128|           data->script_display_password_func = script_obj_new_null ();
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|->         data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1086]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:131: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|->         data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1087]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:131:44: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:131:44: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  129|           data->script_display_question_func = script_obj_new_null ();
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|->         data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1088]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:132: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|->         data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1089]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:132:45: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:132:45: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  130|           data->script_display_prompt_func = script_obj_new_null ();
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|->         data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1090]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:133: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|->         data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1091]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:133:45: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:133:45: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  131|           data->script_validate_input_func = script_obj_new_null ();
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|->         data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1092]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:134: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|->         data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();
#  136|           data->script_system_update_func = script_obj_new_null ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1093]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:134:42: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:134:42: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  132|           data->script_display_message_func = script_obj_new_null ();
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|->         data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();
#  136|           data->script_system_update_func = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1094]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:135: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|->         data->script_quit_func = script_obj_new_null ();
#  136|           data->script_system_update_func = script_obj_new_null ();
#  137|           data->mode = mode;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1095]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:135:34: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:135:34: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  133|           data->script_display_hotplug_func = script_obj_new_null ();
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|->         data->script_quit_func = script_obj_new_null ();
#  136|           data->script_system_update_func = script_obj_new_null ();
#  137|           data->mode = mode;

Error: CPPCHECK_WARNING (CWE-476): [#def1096]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:136: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();
#  136|->         data->script_system_update_func = script_obj_new_null ();
#  137|           data->mode = mode;
#  138|           data->refresh_rate = refresh_rate;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1097]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:136:43: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:136:43: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  134|           data->script_hide_message_func = script_obj_new_null ();
#  135|           data->script_quit_func = script_obj_new_null ();
#  136|->         data->script_system_update_func = script_obj_new_null ();
#  137|           data->mode = mode;
#  138|           data->refresh_rate = refresh_rate;

Error: CPPCHECK_WARNING (CWE-476): [#def1098]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:137: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  135|           data->script_quit_func = script_obj_new_null ();
#  136|           data->script_system_update_func = script_obj_new_null ();
#  137|->         data->mode = mode;
#  138|           data->refresh_rate = refresh_rate;
#  139|           data->keyboard = keyboard;

Error: CPPCHECK_WARNING (CWE-476): [#def1099]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  136|           data->script_system_update_func = script_obj_new_null ();
#  137|           data->mode = mode;
#  138|->         data->refresh_rate = refresh_rate;
#  139|           data->keyboard = keyboard;
#  140|   

Error: CPPCHECK_WARNING (CWE-476): [#def1100]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  137|           data->mode = mode;
#  138|           data->refresh_rate = refresh_rate;
#  139|->         data->keyboard = keyboard;
#  140|   
#  141|           script_obj_t *plymouth_hash = script_obj_hash_get_element (state->global, "Plymouth");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1101]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:141:39: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:141:39: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  139|           data->keyboard = keyboard;
#  140|   
#  141|->         script_obj_t *plymouth_hash = script_obj_hash_get_element (state->global, "Plymouth");
#  142|   
#  143|           script_add_native_function (plymouth_hash,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1102]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:143:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:120:44: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:143:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  141|           script_obj_t *plymouth_hash = script_obj_hash_get_element (state->global, "Plymouth");
#  142|   
#  143|->         script_add_native_function (plymouth_hash,
#  144|                                       "SetRefreshFunction",
#  145|                                       plymouth_set_function,

Error: CPPCHECK_WARNING (CWE-476): [#def1103]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:251: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  249|           script_obj_unref (plymouth_hash);
#  250|   
#  251|->         data->script_main_op = script_parse_string (script_lib_plymouth_string, "script-lib-plymouth.script");
#  252|           script_return_t ret = script_execute (state, data->script_main_op);
#  253|   

Error: CPPCHECK_WARNING (CWE-476): [#def1104]
plymouth-24.004.60/src/plugins/splash/script/script-lib-plymouth.c:252: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  250|   
#  251|           data->script_main_op = script_parse_string (script_lib_plymouth_string, "script-lib-plymouth.script");
#  252|->         script_return_t ret = script_execute (state, data->script_main_op);
#  253|   
#  254|           script_obj_unref (ret.object);          /* Throw anything sent back away */

Error: CPPCHECK_WARNING (CWE-476): [#def1105]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:55: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   53|           sprite_t *sprite = calloc (1, sizeof(sprite_t));
#   54|   
#   55|->         sprite->x = 0;
#   56|           sprite->y = 0;
#   57|           sprite->z = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1106]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:56: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1107]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:56:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘sprite’
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:53:28: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:56:9: danger: ‘sprite’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   54|   
#   55|           sprite->x = 0;
#   56|->         sprite->y = 0;
#   57|           sprite->z = 0;
#   58|           sprite->opacity = 1.0;

Error: CPPCHECK_WARNING (CWE-476): [#def1108]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:57: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   55|           sprite->x = 0;
#   56|           sprite->y = 0;
#   57|->         sprite->z = 0;
#   58|           sprite->opacity = 1.0;
#   59|           sprite->old_x = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1109]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:58: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   56|           sprite->y = 0;
#   57|           sprite->z = 0;
#   58|->         sprite->opacity = 1.0;
#   59|           sprite->old_x = 0;
#   60|           sprite->old_y = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1110]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:59: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   57|           sprite->z = 0;
#   58|           sprite->opacity = 1.0;
#   59|->         sprite->old_x = 0;
#   60|           sprite->old_y = 0;
#   61|           sprite->old_z = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1111]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:60: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   58|           sprite->opacity = 1.0;
#   59|           sprite->old_x = 0;
#   60|->         sprite->old_y = 0;
#   61|           sprite->old_z = 0;
#   62|           sprite->old_width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1112]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:61: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   59|           sprite->old_x = 0;
#   60|           sprite->old_y = 0;
#   61|->         sprite->old_z = 0;
#   62|           sprite->old_width = 0;
#   63|           sprite->old_height = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1113]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:62: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   60|           sprite->old_y = 0;
#   61|           sprite->old_z = 0;
#   62|->         sprite->old_width = 0;
#   63|           sprite->old_height = 0;
#   64|           sprite->old_opacity = 1.0;

Error: CPPCHECK_WARNING (CWE-476): [#def1114]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:63: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   61|           sprite->old_z = 0;
#   62|           sprite->old_width = 0;
#   63|->         sprite->old_height = 0;
#   64|           sprite->old_opacity = 1.0;
#   65|           sprite->refresh_me = false;

Error: CPPCHECK_WARNING (CWE-476): [#def1115]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:64: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   62|           sprite->old_width = 0;
#   63|           sprite->old_height = 0;
#   64|->         sprite->old_opacity = 1.0;
#   65|           sprite->refresh_me = false;
#   66|           sprite->remove_me = false;

Error: CPPCHECK_WARNING (CWE-476): [#def1116]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:65: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   63|           sprite->old_height = 0;
#   64|           sprite->old_opacity = 1.0;
#   65|->         sprite->refresh_me = false;
#   66|           sprite->remove_me = false;
#   67|           sprite->image = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def1117]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:66: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   64|           sprite->old_opacity = 1.0;
#   65|           sprite->refresh_me = false;
#   66|->         sprite->remove_me = false;
#   67|           sprite->image = NULL;
#   68|           sprite->image_obj = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def1118]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:67: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   65|           sprite->refresh_me = false;
#   66|           sprite->remove_me = false;
#   67|->         sprite->image = NULL;
#   68|           sprite->image_obj = NULL;
#   69|           ply_list_append_data (data->sprite_list, sprite);

Error: CPPCHECK_WARNING (CWE-476): [#def1119]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:68: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: sprite
#   66|           sprite->remove_me = false;
#   67|           sprite->image = NULL;
#   68|->         sprite->image_obj = NULL;
#   69|           ply_list_append_data (data->sprite_list, sprite);
#   70|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1120]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:69:9: warning[-Wanalyzer-malloc-leak]: leak of ‘sprite’
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:53:28: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:69:9: danger: ‘sprite’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   67|           sprite->image = NULL;
#   68|           sprite->image_obj = NULL;
#   69|->         ply_list_append_data (data->sprite_list, sprite);
#   70|   
#   71|           reply = script_obj_new_native (sprite, data->class);

Error: CPPCHECK_WARNING (CWE-476): [#def1121]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:510: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  508|           script_lib_display_t *script_display;
#  509|   
#  510|->         data->max_width = 0;
#  511|           data->max_height = 0;
#  512|           for (node = ply_list_get_first_node (data->displays);

Error: CPPCHECK_WARNING (CWE-476): [#def1122]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:511: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  509|   
#  510|           data->max_width = 0;
#  511|->         data->max_height = 0;
#  512|           for (node = ply_list_get_first_node (data->displays);
#  513|                node;

Error: CPPCHECK_WARNING (CWE-476): [#def1123]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:512: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  510|           data->max_width = 0;
#  511|           data->max_height = 0;
#  512|->         for (node = ply_list_get_first_node (data->displays);
#  513|                node;
#  514|                node = ply_list_get_next_node (data->displays, node)) {

Error: CPPCHECK_WARNING (CWE-476): [#def1124]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:514: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  512|           for (node = ply_list_get_first_node (data->displays);
#  513|                node;
#  514|->              node = ply_list_get_next_node (data->displays, node)) {
#  515|                   script_display = ply_list_node_get_data (node);
#  516|                   data->max_width = MAX (data->max_width, ply_pixel_display_get_width (script_display->pixel_display));

Error: CPPCHECK_WARNING (CWE-476): [#def1125]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:516: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  514|                node = ply_list_get_next_node (data->displays, node)) {
#  515|                   script_display = ply_list_node_get_data (node);
#  516|->                 data->max_width = MAX (data->max_width, ply_pixel_display_get_width (script_display->pixel_display));
#  517|                   data->max_height = MAX (data->max_height, ply_pixel_display_get_height (script_display->pixel_display));
#  518|           }

Error: CPPCHECK_WARNING (CWE-476): [#def1126]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:517: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  515|                   script_display = ply_list_node_get_data (node);
#  516|                   data->max_width = MAX (data->max_width, ply_pixel_display_get_width (script_display->pixel_display));
#  517|->                 data->max_height = MAX (data->max_height, ply_pixel_display_get_height (script_display->pixel_display));
#  518|           }
#  519|   

Error: CPPCHECK_WARNING (CWE-476): [#def1127]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:520: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  518|           }
#  519|   
#  520|->         for (node = ply_list_get_first_node (data->displays);
#  521|                node;
#  522|                node = ply_list_get_next_node (data->displays, node)) {

Error: CPPCHECK_WARNING (CWE-476): [#def1128]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:522: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  520|           for (node = ply_list_get_first_node (data->displays);
#  521|                node;
#  522|->              node = ply_list_get_next_node (data->displays, node)) {
#  523|                   script_display = ply_list_node_get_data (node);
#  524|                   script_display->x = (data->max_width - ply_pixel_display_get_width (script_display->pixel_display)) / 2;

Error: CPPCHECK_WARNING (CWE-476): [#def1129]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:524: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  522|                node = ply_list_get_next_node (data->displays, node)) {
#  523|                   script_display = ply_list_node_get_data (node);
#  524|->                 script_display->x = (data->max_width - ply_pixel_display_get_width (script_display->pixel_display)) / 2;
#  525|                   script_display->y = (data->max_height - ply_pixel_display_get_height (script_display->pixel_display)) / 2;
#  526|           }

Error: CPPCHECK_WARNING (CWE-476): [#def1130]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:525: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  523|                   script_display = ply_list_node_get_data (node);
#  524|                   script_display->x = (data->max_width - ply_pixel_display_get_width (script_display->pixel_display)) / 2;
#  525|->                 script_display->y = (data->max_height - ply_pixel_display_get_height (script_display->pixel_display)) / 2;
#  526|           }
#  527|   

Error: CPPCHECK_WARNING (CWE-476): [#def1131]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:528: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  526|           }
#  527|   
#  528|->         data->full_refresh = true;
#  529|   }
#  530|   

Error: CPPCHECK_WARNING (CWE-476): [#def1132]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:537: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1133]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:537:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘script_display’
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:535:48: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:537:9: danger: ‘script_display’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1134]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:538: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: script_display
#  536|   
#  537|           script_display->pixel_display = pixel_display;
#  538|->         script_display->data = data;
#  539|           ply_pixel_display_set_draw_handler (pixel_display,
#  540|                                               (ply_pixel_display_draw_handler_t)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1135]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:539:9: warning[-Wanalyzer-malloc-leak]: leak of ‘script_display’
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:535:48: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:539:9: danger: ‘script_display’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  537|           script_display->pixel_display = pixel_display;
#  538|           script_display->data = data;
#  539|->         ply_pixel_display_set_draw_handler (pixel_display,
#  540|                                               (ply_pixel_display_draw_handler_t)
#  541|                                               script_lib_sprite_draw_area, script_display);

Error: CPPCHECK_WARNING (CWE-476): [#def1136]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:543: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  541|                                               script_lib_sprite_draw_area, script_display);
#  542|   
#  543|->         ply_list_append_data (data->displays, script_display);
#  544|   }
#  545|   

Error: CPPCHECK_WARNING (CWE-476): [#def1137]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:552: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  550|           script_lib_sprite_data_t *data = malloc (sizeof(script_lib_sprite_data_t));
#  551|   
#  552|->         data->class = script_obj_native_class_new (sprite_free, "sprite", data);
#  553|           data->sprite_list = ply_list_new ();
#  554|           data->displays = ply_list_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1138]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:552:23: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:550:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:552:23: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  550|           script_lib_sprite_data_t *data = malloc (sizeof(script_lib_sprite_data_t));
#  551|   
#  552|->         data->class = script_obj_native_class_new (sprite_free, "sprite", data);
#  553|           data->sprite_list = ply_list_new ();
#  554|           data->displays = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1139]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:553: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  551|   
#  552|           data->class = script_obj_native_class_new (sprite_free, "sprite", data);
#  553|->         data->sprite_list = ply_list_new ();
#  554|           data->displays = ply_list_new ();
#  555|   

Error: CPPCHECK_WARNING (CWE-476): [#def1140]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:554: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  552|           data->class = script_obj_native_class_new (sprite_free, "sprite", data);
#  553|           data->sprite_list = ply_list_new ();
#  554|->         data->displays = ply_list_new ();
#  555|   
#  556|           for (node = ply_list_get_first_node (pixel_displays);

Error: CPPCHECK_WARNING (CWE-476): [#def1141]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:687: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  685|           script_obj_unref (window_hash);
#  686|   
#  687|->         data->script_main_op = script_parse_string (script_lib_sprite_string, "script-lib-sprite.script");
#  688|           data->background_color_start = 0x000000;
#  689|           data->background_color_end = 0x000000;

Error: CPPCHECK_WARNING (CWE-476): [#def1142]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:688: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  686|   
#  687|           data->script_main_op = script_parse_string (script_lib_sprite_string, "script-lib-sprite.script");
#  688|->         data->background_color_start = 0x000000;
#  689|           data->background_color_end = 0x000000;
#  690|           data->full_refresh = true;

Error: CPPCHECK_WARNING (CWE-476): [#def1143]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:689: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  687|           data->script_main_op = script_parse_string (script_lib_sprite_string, "script-lib-sprite.script");
#  688|           data->background_color_start = 0x000000;
#  689|->         data->background_color_end = 0x000000;
#  690|           data->full_refresh = true;
#  691|           script_return_t ret = script_execute (state, data->script_main_op);

Error: CPPCHECK_WARNING (CWE-476): [#def1144]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:690: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  688|           data->background_color_start = 0x000000;
#  689|           data->background_color_end = 0x000000;
#  690|->         data->full_refresh = true;
#  691|           script_return_t ret = script_execute (state, data->script_main_op);
#  692|   

Error: CPPCHECK_WARNING (CWE-476): [#def1145]
plymouth-24.004.60/src/plugins/splash/script/script-lib-sprite.c:691: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  689|           data->background_color_end = 0x000000;
#  690|           data->full_refresh = true;
#  691|->         script_return_t ret = script_execute (state, data->script_main_op);
#  692|   
#  693|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1146]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:85:25: warning[-Wanalyzer-malloc-leak]: leak of ‘substring’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:72:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:84:21: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:85:25: danger: ‘substring’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   83|   
#   84|           substring = strndup (&text[text_count], end - start);
#   85|->         substring_obj = script_obj_new_string (substring);
#   86|           free (substring);
#   87|           free (text);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1147]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:105:37: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:105:37: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  103|           script_lib_string_data_t *data = malloc (sizeof(script_lib_string_data_t));
#  104|   
#  105|->         script_obj_t *string_hash = script_obj_hash_get_element (state->global, "String");
#  106|   
#  107|           script_add_native_function (string_hash,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1148]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:107:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:107:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  105|           script_obj_t *string_hash = script_obj_hash_get_element (state->global, "String");
#  106|   
#  107|->         script_add_native_function (string_hash,
#  108|                                       "CharAt",
#  109|                                       script_lib_string_char_at,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1149]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:113:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:113:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  111|                                       "index",
#  112|                                       NULL);
#  113|->         script_add_native_function (string_hash,
#  114|                                       "SubString",
#  115|                                       script_lib_string_sub_string,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1150]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:120:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:120:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  118|                                       "end",
#  119|                                       NULL);
#  120|->         script_add_native_function (string_hash,
#  121|                                       "Length",
#  122|                                       script_lib_string_length,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1151]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:125:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:125:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  123|                                       NULL,
#  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);

Error: CPPCHECK_WARNING (CWE-476): [#def1152]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1153]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126:9: danger: ‘data’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1154]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:126:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1155]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:127: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: data
#  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|   
#  129|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1156]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:127:31: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:127:31: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  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|   
#  129|           script_obj_unref (ret.object);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1157]
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:129:9: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:103:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-lib-string.c:129:9: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  127|           script_return_t ret = script_execute (state, data->script_main_op);
#  128|   
#  129|->         script_obj_unref (ret.object);
#  130|   
#  131|           return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1158]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:96:17: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#   94|   
#   95|           case SCRIPT_OBJ_TYPE_HASH:              /* FIXME nightmare */
#   96|->                 ply_hashtable_foreach (obj->data.hash, foreach_free_variable, NULL);
#   97|                   ply_hashtable_free (obj->data.hash);
#   98|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1159]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:97:17: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#   95|           case SCRIPT_OBJ_TYPE_HASH:              /* FIXME nightmare */
#   96|                   ply_hashtable_foreach (obj->data.hash, foreach_free_variable, NULL);
#   97|->                 ply_hashtable_free (obj->data.hash);
#   98|                   break;
#   99|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1160]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:105:38: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#  103|                           ply_list_node_t *node;
#  104|                           for (node =
#  105|->                                      ply_list_get_first_node (obj->data.function->parameters);
#  106|                                node;
#  107|                                node =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1161]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:108:38: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#  106|                                node;
#  107|                                node =
#  108|->                                      ply_list_get_next_node (obj->data.function->parameters,
#  109|                                                                node)) {
#  110|                                   char *operand = ply_list_node_get_data (node);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1162]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:110:49: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#  108|                                        ply_list_get_next_node (obj->data.function->parameters,
#  109|                                                                node)) {
#  110|->                                 char *operand = ply_list_node_get_data (node);
#  111|                                   free (operand);
#  112|                           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1163]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:113:25: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#  111|                                   free (operand);
#  112|                           }
#  113|->                         ply_list_free (obj->data.function->parameters);
#  114|                           free (obj->data.function);
#  115|                   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1164]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:121:25: warning[-Wanalyzer-malloc-leak]: leak of ‘script_obj_new_hash()’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_hash’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:445:17: call_function: calling ‘script_obj_assign’ from ‘script_obj_hash_get_element’
#  119|           case SCRIPT_OBJ_TYPE_NATIVE:
#  120|                   if (obj->data.native.class->free_func)
#  121|->                         obj->data.native.class->free_func (obj);
#  122|                   break;
#  123|   

Error: CPPCHECK_WARNING (CWE-476): [#def1165]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:152: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1166]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:152:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘obj’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:450:28: call_function: calling ‘script_obj_new_null’ from ‘script_obj_hash_get_element’
#  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: CPPCHECK_WARNING (CWE-476): [#def1167]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:153: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  151|   
#  152|           obj->type = SCRIPT_OBJ_TYPE_NULL;
#  153|->         obj->refcount = 1;
#  154|           return obj;
#  155|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1168]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:161: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  159|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  160|   
#  161|->         obj->type = SCRIPT_OBJ_TYPE_NUMBER;
#  162|           obj->refcount = 1;
#  163|           obj->data.number = number;

Error: CPPCHECK_WARNING (CWE-476): [#def1169]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:162: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  160|   
#  161|           obj->type = SCRIPT_OBJ_TYPE_NUMBER;
#  162|->         obj->refcount = 1;
#  163|           obj->data.number = number;
#  164|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1170]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:163: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  161|           obj->type = SCRIPT_OBJ_TYPE_NUMBER;
#  162|           obj->refcount = 1;
#  163|->         obj->data.number = number;
#  164|           return obj;
#  165|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1171]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  169|           if (!string) return script_obj_new_null ();
#  170|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  171|->         obj->type = SCRIPT_OBJ_TYPE_STRING;
#  172|           obj->refcount = 1;
#  173|           obj->data.string = strdup (string);

Error: CPPCHECK_WARNING (CWE-476): [#def1172]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:172: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  170|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  171|           obj->type = SCRIPT_OBJ_TYPE_STRING;
#  172|->         obj->refcount = 1;
#  173|           obj->data.string = strdup (string);
#  174|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1173]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:173: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  171|           obj->type = SCRIPT_OBJ_TYPE_STRING;
#  172|           obj->refcount = 1;
#  173|->         obj->data.string = strdup (string);
#  174|           return obj;
#  175|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1174]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:181: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def1175]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:181:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘obj’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
#  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: CPPCHECK_WARNING (CWE-476): [#def1176]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:182: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  180|   
#  181|           obj->type = SCRIPT_OBJ_TYPE_HASH;
#  182|->         obj->data.hash = ply_hashtable_new (ply_hashtable_string_hash,
#  183|                                               ply_hashtable_string_compare);
#  184|           obj->refcount = 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1177]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:182:26: warning[-Wanalyzer-malloc-leak]: leak of ‘obj’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:444:28: call_function: calling ‘script_obj_new_hash’ from ‘script_obj_hash_get_element’
#  180|   
#  181|           obj->type = SCRIPT_OBJ_TYPE_HASH;
#  182|->         obj->data.hash = ply_hashtable_new (ply_hashtable_string_hash,
#  183|                                               ply_hashtable_string_compare);
#  184|           obj->refcount = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1178]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:184: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  182|           obj->data.hash = ply_hashtable_new (ply_hashtable_string_hash,
#  183|                                               ply_hashtable_string_compare);
#  184|->         obj->refcount = 1;
#  185|           return obj;
#  186|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1179]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:192: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  190|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  191|   
#  192|->         obj->type = SCRIPT_OBJ_TYPE_FUNCTION;
#  193|           obj->data.function = function;
#  194|           obj->refcount = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1180]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:193: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  191|   
#  192|           obj->type = SCRIPT_OBJ_TYPE_FUNCTION;
#  193|->         obj->data.function = function;
#  194|           obj->refcount = 1;
#  195|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1181]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:194: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  192|           obj->type = SCRIPT_OBJ_TYPE_FUNCTION;
#  193|           obj->data.function = function;
#  194|->         obj->refcount = 1;
#  195|           return obj;
#  196|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1182]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:204: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  202|           sub_obj = script_obj_deref_direct (sub_obj);
#  203|           script_obj_ref (sub_obj);
#  204|->         obj->type = SCRIPT_OBJ_TYPE_REF;
#  205|           obj->data.obj = sub_obj;
#  206|           obj->refcount = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1183]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:205: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  203|           script_obj_ref (sub_obj);
#  204|           obj->type = SCRIPT_OBJ_TYPE_REF;
#  205|->         obj->data.obj = sub_obj;
#  206|           obj->refcount = 1;
#  207|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1184]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:206: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  204|           obj->type = SCRIPT_OBJ_TYPE_REF;
#  205|           obj->data.obj = sub_obj;
#  206|->         obj->refcount = 1;
#  207|           return obj;
#  208|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1185]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:219: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  217|           script_obj_ref (obj_a);
#  218|           script_obj_ref (obj_b);
#  219|->         obj->type = SCRIPT_OBJ_TYPE_EXTEND;
#  220|           obj->data.dual_obj.obj_a = obj_a;
#  221|           obj->data.dual_obj.obj_b = obj_b;

Error: CPPCHECK_WARNING (CWE-476): [#def1186]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:220: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  218|           script_obj_ref (obj_b);
#  219|           obj->type = SCRIPT_OBJ_TYPE_EXTEND;
#  220|->         obj->data.dual_obj.obj_a = obj_a;
#  221|           obj->data.dual_obj.obj_b = obj_b;
#  222|           obj->refcount = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1187]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:221: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  219|           obj->type = SCRIPT_OBJ_TYPE_EXTEND;
#  220|           obj->data.dual_obj.obj_a = obj_a;
#  221|->         obj->data.dual_obj.obj_b = obj_b;
#  222|           obj->refcount = 1;
#  223|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1188]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:222: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  220|           obj->data.dual_obj.obj_a = obj_a;
#  221|           obj->data.dual_obj.obj_b = obj_b;
#  222|->         obj->refcount = 1;
#  223|           return obj;
#  224|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1189]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:231: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  229|           if (!object_data) return script_obj_new_null ();
#  230|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  231|->         obj->type = SCRIPT_OBJ_TYPE_NATIVE;
#  232|           obj->data.native.class = class;
#  233|           obj->data.native.object_data = object_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1190]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:232: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  230|           script_obj_t *obj = malloc (sizeof(script_obj_t));
#  231|           obj->type = SCRIPT_OBJ_TYPE_NATIVE;
#  232|->         obj->data.native.class = class;
#  233|           obj->data.native.object_data = object_data;
#  234|           obj->refcount = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1191]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:233: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  231|           obj->type = SCRIPT_OBJ_TYPE_NATIVE;
#  232|           obj->data.native.class = class;
#  233|->         obj->data.native.object_data = object_data;
#  234|           obj->refcount = 1;
#  235|           return obj;

Error: CPPCHECK_WARNING (CWE-476): [#def1192]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:234: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: obj
#  232|           obj->data.native.class = class;
#  233|           obj->data.native.object_data = object_data;
#  234|->         obj->refcount = 1;
#  235|           return obj;
#  236|   }

Error: COMPILER_WARNING (CWE-252): [#def1193]
plymouth-24.004.60/src/plugins/splash/script/script-object.c: scope_hint: In function ‘script_obj_as_string’
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): [#def1194]
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: CPPCHECK_WARNING (CWE-476): [#def1195]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:449: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: GCC_ANALYZER_WARNING (CWE-476): [#def1196]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:449:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘variable’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script-object.c:449:9: danger: ‘variable’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2)
#  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: CPPCHECK_WARNING (CWE-476): [#def1197]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:450: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: variable
#  448|   
#  449|           variable->name = strdup (name);
#  450|->         variable->object = script_obj_new_null ();
#  451|           ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|           script_obj_ref (variable->object);

Error: CPPCHECK_WARNING (CWE-476): [#def1198]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:451: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: variable
#  449|           variable->name = strdup (name);
#  450|           variable->object = script_obj_new_null ();
#  451|->         ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|           script_obj_ref (variable->object);
#  453|           return variable->object;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1199]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:451:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:435:15: enter_function: entry to ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:450:28: call_function: calling ‘script_obj_new_null’ from ‘script_obj_hash_get_element’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:450:28: return_function: returning to ‘script_obj_hash_get_element’ from ‘script_obj_new_null’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:451:9: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/5)
#  449|           variable->name = strdup (name);
#  450|           variable->object = script_obj_new_null ();
#  451|->         ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|           script_obj_ref (variable->object);
#  453|           return variable->object;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1200]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:451:9: warning[-Wanalyzer-malloc-leak]: leak of ‘variable’
plymouth-24.004.60/src/plugins/splash/script/script-object.c:443:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:447:39: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-object.c:451:9: danger: ‘variable’ leaks here; was allocated at [(3)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/2)
#  449|           variable->name = strdup (name);
#  450|           variable->object = script_obj_new_null ();
#  451|->         ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|           script_obj_ref (variable->object);
#  453|           return variable->object;

Error: CPPCHECK_WARNING (CWE-476): [#def1201]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:452: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: variable
#  450|           variable->object = script_obj_new_null ();
#  451|           ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|->         script_obj_ref (variable->object);
#  453|           return variable->object;
#  454|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1202]
plymouth-24.004.60/src/plugins/splash/script/script-object.c:453: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: variable
#  451|           ply_hashtable_insert (realhash->data.hash, variable->name, variable);
#  452|           script_obj_ref (variable->object);
#  453|->         return variable->object;
#  454|   }
#  455|   

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

Error: CPPCHECK_WARNING (CWE-476): [#def1204]
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:63: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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: CPPCHECK_WARNING (CWE-476): [#def1205]
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:151: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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-401): [#def1206]
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:272:17: warning[-Wanalyzer-malloc-leak]: leak of ‘parameter’
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:266:20: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:271:43: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:271:35: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script-parse.c:272:17: danger: ‘parameter’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  270|                   }
#  271|                   char *parameter = strdup (curtoken->data.string);
#  272|->                 ply_list_append_data (parameter_list, parameter);
#  273|   
#  274|                   curtoken = script_scan_get_next_token (scan);

Error: CPPCHECK_WARNING (CWE-476): [#def1207]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:44: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   42|           script_scan_t *scan = calloc (1, sizeof(script_scan_t));
#   43|   
#   44|->         scan->tokens = NULL;
#   45|           scan->tokencount = 0;
#   46|           scan->cur_char = '\0';

Error: CPPCHECK_WARNING (CWE-476): [#def1208]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:45: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   43|   
#   44|           scan->tokens = NULL;
#   45|->         scan->tokencount = 0;
#   46|           scan->cur_char = '\0';
#   47|           scan->line_index = 1;           /* According to Nedit the first line is 1 but first column is 0 */

Error: CPPCHECK_WARNING (CWE-476): [#def1209]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:46: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   44|           scan->tokens = NULL;
#   45|           scan->tokencount = 0;
#   46|->         scan->cur_char = '\0';
#   47|           scan->line_index = 1;           /* According to Nedit the first line is 1 but first column is 0 */
#   48|           scan->column_index = COLUMN_START_INDEX;

Error: CPPCHECK_WARNING (CWE-476): [#def1210]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:47: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   45|           scan->tokencount = 0;
#   46|           scan->cur_char = '\0';
#   47|->         scan->line_index = 1;           /* According to Nedit the first line is 1 but first column is 0 */
#   48|           scan->column_index = COLUMN_START_INDEX;
#   49|   

Error: CPPCHECK_WARNING (CWE-476): [#def1211]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:48: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   46|           scan->cur_char = '\0';
#   47|           scan->line_index = 1;           /* According to Nedit the first line is 1 but first column is 0 */
#   48|->         scan->column_index = COLUMN_START_INDEX;
#   49|   
#   50|           scan->identifier_1st_char = ply_bitarray_new (256);

Error: CPPCHECK_WARNING (CWE-476): [#def1212]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   48|           scan->column_index = COLUMN_START_INDEX;
#   49|   
#   50|->         scan->identifier_1st_char = ply_bitarray_new (256);
#   51|           scan->identifier_nth_char = ply_bitarray_new (256);
#   52|   

Error: CPPCHECK_WARNING (CWE-476): [#def1213]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:51: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: scan
#   49|   
#   50|           scan->identifier_1st_char = ply_bitarray_new (256);
#   51|->         scan->identifier_nth_char = ply_bitarray_new (256);
#   52|   
#   53|           for (chars =

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1214]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:274:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:391:22: enter_function: entry to ‘script_scan_peek_next_token’
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:393:16: call_function: calling ‘script_scan_peek_token’ from ‘script_scan_peek_next_token’
#  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): [#def1215]
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:359:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘malloc(40)’
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:391:22: enter_function: entry to ‘script_scan_peek_next_token’
plymouth-24.004.60/src/plugins/splash/script/script-scan.c:393:16: call_function: calling ‘script_scan_peek_token’ from ‘script_scan_peek_next_token’
#  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: CPPCHECK_WARNING (CWE-476): [#def1216]
plymouth-24.004.60/src/plugins/splash/script/script.c:48: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1217]
plymouth-24.004.60/src/plugins/splash/script/script.c:48:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘function’
plymouth-24.004.60/src/plugins/splash/script/script.c:46:39: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script.c:48:9: danger: ‘function’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def1218]
plymouth-24.004.60/src/plugins/splash/script/script.c:49: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   47|   
#   48|           function->type = SCRIPT_FUNCTION_TYPE_SCRIPT;
#   49|->         function->parameters = parameter_list;
#   50|           function->data.script = script;
#   51|           function->freeable = false;

Error: CPPCHECK_WARNING (CWE-476): [#def1219]
plymouth-24.004.60/src/plugins/splash/script/script.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   48|           function->type = SCRIPT_FUNCTION_TYPE_SCRIPT;
#   49|           function->parameters = parameter_list;
#   50|->         function->data.script = script;
#   51|           function->freeable = false;
#   52|           function->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1220]
plymouth-24.004.60/src/plugins/splash/script/script.c:51: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   49|           function->parameters = parameter_list;
#   50|           function->data.script = script;
#   51|->         function->freeable = false;
#   52|           function->user_data = user_data;
#   53|           return function;

Error: CPPCHECK_WARNING (CWE-476): [#def1221]
plymouth-24.004.60/src/plugins/splash/script/script.c:52: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   50|           function->data.script = script;
#   51|           function->freeable = false;
#   52|->         function->user_data = user_data;
#   53|           return function;
#   54|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1222]
plymouth-24.004.60/src/plugins/splash/script/script.c:62: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1223]
plymouth-24.004.60/src/plugins/splash/script/script.c:62:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘function’
plymouth-24.004.60/src/plugins/splash/script/script.c:60:39: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script.c:62:9: danger: ‘function’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   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: CPPCHECK_WARNING (CWE-476): [#def1224]
plymouth-24.004.60/src/plugins/splash/script/script.c:63: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   61|   
#   62|           function->type = SCRIPT_FUNCTION_TYPE_NATIVE;
#   63|->         function->parameters = parameter_list;
#   64|           function->data.native = native_function;
#   65|           function->freeable = true;

Error: CPPCHECK_WARNING (CWE-476): [#def1225]
plymouth-24.004.60/src/plugins/splash/script/script.c:64: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   62|           function->type = SCRIPT_FUNCTION_TYPE_NATIVE;
#   63|           function->parameters = parameter_list;
#   64|->         function->data.native = native_function;
#   65|           function->freeable = true;
#   66|           function->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1226]
plymouth-24.004.60/src/plugins/splash/script/script.c:65: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   63|           function->parameters = parameter_list;
#   64|           function->data.native = native_function;
#   65|->         function->freeable = true;
#   66|           function->user_data = user_data;
#   67|           return function;

Error: CPPCHECK_WARNING (CWE-476): [#def1227]
plymouth-24.004.60/src/plugins/splash/script/script.c:66: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: function
#   64|           function->data.native = native_function;
#   65|           function->freeable = true;
#   66|->         function->user_data = user_data;
#   67|           return function;
#   68|   }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def1228]
plymouth-24.004.60/src/plugins/splash/script/script.c:84:17: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
plymouth-24.004.60/src/plugins/splash/script/script.c:82:9: acquire_resource: ‘va_start’ called here
plymouth-24.004.60/src/plugins/splash/script/script.c:83:16: branch_true: following ‘true’ branch (when ‘arg’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/script/script.c:84:55: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script.c:84:17: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   82|           va_start (args, first_arg);
#   83|           while (arg) {
#   84|->                 ply_list_append_data (parameter_list, strdup (arg));
#   85|                   arg = va_arg (args, const char *);
#   86|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1229]
plymouth-24.004.60/src/plugins/splash/script/script.c:85:17: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(arg)’
plymouth-24.004.60/src/plugins/splash/script/script.c:83:16: branch_true: following ‘true’ branch (when ‘arg’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/script/script.c:84:55: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script.c:84:55: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:85:17: danger: ‘strdup(arg)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   83|           while (arg) {
#   84|                   ply_list_append_data (parameter_list, strdup (arg));
#   85|->                 arg = va_arg (args, const char *);
#   86|           }
#   87|           va_end (args);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1230]
plymouth-24.004.60/src/plugins/splash/script/script.c:94:9: warning[-Wanalyzer-malloc-leak]: leak of ‘script_function_native_new(native_function,  user_data,  ply_list_new())’
plymouth-24.004.60/src/plugins/splash/script/script.c:70:6: enter_function: entry to ‘script_add_native_function’
plymouth-24.004.60/src/plugins/splash/script/script.c:89:39: call_function: calling ‘script_function_native_new’ from ‘script_add_native_function’
plymouth-24.004.60/src/plugins/splash/script/script.c:89:39: return_function: returning to ‘script_add_native_function’ from ‘script_function_native_new’
plymouth-24.004.60/src/plugins/splash/script/script.c:94:9: danger: ‘script_function_native_new(native_function,  user_data,  ply_list_new())’ leaks here; was allocated at [(4)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/3)
#   92|           script_obj_t *obj = script_obj_new_function (function);
#   93|   
#   94|->         script_obj_hash_add_element (hash, obj, name);
#   95|           script_obj_unref (obj);
#   96|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1231]
plymouth-24.004.60/src/plugins/splash/script/script.c:104: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1232]
plymouth-24.004.60/src/plugins/splash/script/script.c:104:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘class’
plymouth-24.004.60/src/plugins/splash/script/script.c:102:44: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script.c:104:9: danger: ‘class’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1233]
plymouth-24.004.60/src/plugins/splash/script/script.c:105: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: class
#  103|   
#  104|           class->free_func = free_func;
#  105|->         class->name = strdup (name);
#  106|           class->user_data = user_data;
#  107|           return class;

Error: CPPCHECK_WARNING (CWE-476): [#def1234]
plymouth-24.004.60/src/plugins/splash/script/script.c:106: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: class
#  104|           class->free_func = free_func;
#  105|           class->name = strdup (name);
#  106|->         class->user_data = user_data;
#  107|           return class;
#  108|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1235]
plymouth-24.004.60/src/plugins/splash/script/script.c:120:37: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:120:37: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  118|   {
#  119|           script_state_t *state = malloc (sizeof(script_state_t));
#  120|->         script_obj_t *global_hash = script_obj_new_hash ();
#  121|   
#  122|           state->global = script_obj_new_ref (global_hash);

Error: CPPCHECK_WARNING (CWE-476): [#def1236]
plymouth-24.004.60/src/plugins/splash/script/script.c:122: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1237]
plymouth-24.004.60/src/plugins/splash/script/script.c:122:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script.c:122:9: danger: ‘state’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1238]
plymouth-24.004.60/src/plugins/splash/script/script.c:122:25: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:122:25: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1239]
plymouth-24.004.60/src/plugins/splash/script/script.c:123:9: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:123:9: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  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);
#  125|           state->this = script_obj_new_null ();

Error: CPPCHECK_WARNING (CWE-476): [#def1240]
plymouth-24.004.60/src/plugins/splash/script/script.c:124: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: state
#  122|           state->global = script_obj_new_ref (global_hash);
#  123|           script_obj_unref (global_hash);
#  124|->         state->local = script_obj_new_ref (global_hash);
#  125|           state->this = script_obj_new_null ();
#  126|           state->user_data = user_data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1241]
plymouth-24.004.60/src/plugins/splash/script/script.c:124:24: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:124:24: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  122|           state->global = script_obj_new_ref (global_hash);
#  123|           script_obj_unref (global_hash);
#  124|->         state->local = script_obj_new_ref (global_hash);
#  125|           state->this = script_obj_new_null ();
#  126|           state->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1242]
plymouth-24.004.60/src/plugins/splash/script/script.c:125: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: state
#  123|           script_obj_unref (global_hash);
#  124|           state->local = script_obj_new_ref (global_hash);
#  125|->         state->this = script_obj_new_null ();
#  126|           state->user_data = user_data;
#  127|           return state;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1243]
plymouth-24.004.60/src/plugins/splash/script/script.c:125:23: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
plymouth-24.004.60/src/plugins/splash/script/script.c:119:33: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:125:23: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  123|           script_obj_unref (global_hash);
#  124|           state->local = script_obj_new_ref (global_hash);
#  125|->         state->this = script_obj_new_null ();
#  126|           state->user_data = user_data;
#  127|           return state;

Error: CPPCHECK_WARNING (CWE-476): [#def1244]
plymouth-24.004.60/src/plugins/splash/script/script.c:126: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: state
#  124|           state->local = script_obj_new_ref (global_hash);
#  125|           state->this = script_obj_new_null ();
#  126|->         state->user_data = user_data;
#  127|           return state;
#  128|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1245]
plymouth-24.004.60/src/plugins/splash/script/script.c:134:36: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:134:36: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  132|   {
#  133|           script_state_t *newstate = malloc (sizeof(script_state_t));
#  134|->         script_obj_t *local_hash = script_obj_new_hash ();
#  135|   
#  136|           newstate->local = script_obj_new_ref (local_hash);

Error: CPPCHECK_WARNING (CWE-476): [#def1246]
plymouth-24.004.60/src/plugins/splash/script/script.c:136: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1247]
plymouth-24.004.60/src/plugins/splash/script/script.c:136:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/script/script.c:136:9: danger: ‘newstate’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1248]
plymouth-24.004.60/src/plugins/splash/script/script.c:136:27: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:136:27: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1249]
plymouth-24.004.60/src/plugins/splash/script/script.c:137:9: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:137:9: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  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);
#  139|           if (this) newstate->this = script_obj_new_ref (this);

Error: CPPCHECK_WARNING (CWE-476): [#def1250]
plymouth-24.004.60/src/plugins/splash/script/script.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newstate
#  136|           newstate->local = script_obj_new_ref (local_hash);
#  137|           script_obj_unref (local_hash);
#  138|->         newstate->global = script_obj_new_ref (oldstate->global);
#  139|           if (this) newstate->this = script_obj_new_ref (this);
#  140|           else newstate->this = script_obj_new_ref (oldstate->this);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1251]
plymouth-24.004.60/src/plugins/splash/script/script.c:138:28: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:138:28: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  136|           newstate->local = script_obj_new_ref (local_hash);
#  137|           script_obj_unref (local_hash);
#  138|->         newstate->global = script_obj_new_ref (oldstate->global);
#  139|           if (this) newstate->this = script_obj_new_ref (this);
#  140|           else newstate->this = script_obj_new_ref (oldstate->this);

Error: CPPCHECK_WARNING (CWE-476): [#def1252]
plymouth-24.004.60/src/plugins/splash/script/script.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newstate
#  137|           script_obj_unref (local_hash);
#  138|           newstate->global = script_obj_new_ref (oldstate->global);
#  139|->         if (this) newstate->this = script_obj_new_ref (this);
#  140|           else newstate->this = script_obj_new_ref (oldstate->this);
#  141|           newstate->user_data = oldstate->user_data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1253]
plymouth-24.004.60/src/plugins/splash/script/script.c:139:36: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:139:12: branch_true: following ‘true’ branch (when ‘this’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/script/script.c:139:36: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/script/script.c:139:36: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  137|           script_obj_unref (local_hash);
#  138|           newstate->global = script_obj_new_ref (oldstate->global);
#  139|->         if (this) newstate->this = script_obj_new_ref (this);
#  140|           else newstate->this = script_obj_new_ref (oldstate->this);
#  141|           newstate->user_data = oldstate->user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1254]
plymouth-24.004.60/src/plugins/splash/script/script.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newstate
#  138|           newstate->global = script_obj_new_ref (oldstate->global);
#  139|           if (this) newstate->this = script_obj_new_ref (this);
#  140|->         else newstate->this = script_obj_new_ref (oldstate->this);
#  141|           newstate->user_data = oldstate->user_data;
#  142|           return newstate;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1255]
plymouth-24.004.60/src/plugins/splash/script/script.c:140:31: warning[-Wanalyzer-malloc-leak]: leak of ‘newstate’
plymouth-24.004.60/src/plugins/splash/script/script.c:133:36: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/script/script.c:139:12: branch_false: following ‘false’ branch (when ‘this’ is NULL)...
plymouth-24.004.60/src/plugins/splash/script/script.c:140:51: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/script/script.c:140:31: danger: ‘newstate’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  138|           newstate->global = script_obj_new_ref (oldstate->global);
#  139|           if (this) newstate->this = script_obj_new_ref (this);
#  140|->         else newstate->this = script_obj_new_ref (oldstate->this);
#  141|           newstate->user_data = oldstate->user_data;
#  142|           return newstate;

Error: CPPCHECK_WARNING (CWE-476): [#def1256]
plymouth-24.004.60/src/plugins/splash/script/script.c:141: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: newstate
#  139|           if (this) newstate->this = script_obj_new_ref (this);
#  140|           else newstate->this = script_obj_new_ref (oldstate->this);
#  141|->         newstate->user_data = oldstate->user_data;
#  142|           return newstate;
#  143|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1257]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:235: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  233|   
#  234|           view = calloc (1, sizeof(view_t));
#  235|->         view->plugin = plugin;
#  236|           view->display = display;
#  237|   

Error: CPPCHECK_WARNING (CWE-476): [#def1258]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:236: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  234|           view = calloc (1, sizeof(view_t));
#  235|           view->plugin = plugin;
#  236|->         view->display = display;
#  237|   
#  238|           view->entry = ply_entry_new (plugin->image_dir);

Error: CPPCHECK_WARNING (CWE-476): [#def1259]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:238: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  236|           view->display = display;
#  237|   
#  238|->         view->entry = ply_entry_new (plugin->image_dir);
#  239|           view->label = ply_label_new ();
#  240|           view->message_label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1260]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:239: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  237|   
#  238|           view->entry = ply_entry_new (plugin->image_dir);
#  239|->         view->label = ply_label_new ();
#  240|           view->message_label = ply_label_new ();
#  241|   

Error: CPPCHECK_WARNING (CWE-476): [#def1261]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:240: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  238|           view->entry = ply_entry_new (plugin->image_dir);
#  239|           view->label = ply_label_new ();
#  240|->         view->message_label = ply_label_new ();
#  241|   
#  242|           view->sprites = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1262]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:242: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  240|           view->message_label = ply_label_new ();
#  241|   
#  242|->         view->sprites = ply_list_new ();
#  243|   
#  244|           if (ply_console_viewer_preferred ()) {

Error: CPPCHECK_WARNING (CWE-476): [#def1263]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:420: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  418|           sprite_t *new_sprite = calloc (1, sizeof(sprite_t));
#  419|   
#  420|->         new_sprite->x = 0;
#  421|           new_sprite->y = 0;
#  422|           new_sprite->z = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1264]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:421: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  419|   
#  420|           new_sprite->x = 0;
#  421|->         new_sprite->y = 0;
#  422|           new_sprite->z = 0;
#  423|           new_sprite->oldx = 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1265]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:421:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_sprite’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  419|   
#  420|           new_sprite->x = 0;
#  421|->         new_sprite->y = 0;
#  422|           new_sprite->z = 0;
#  423|           new_sprite->oldx = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1266]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:422: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  420|           new_sprite->x = 0;
#  421|           new_sprite->y = 0;
#  422|->         new_sprite->z = 0;
#  423|           new_sprite->oldx = 0;
#  424|           new_sprite->oldy = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1267]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:423: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  421|           new_sprite->y = 0;
#  422|           new_sprite->z = 0;
#  423|->         new_sprite->oldx = 0;
#  424|           new_sprite->oldy = 0;
#  425|           new_sprite->oldz = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1268]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:424: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  422|           new_sprite->z = 0;
#  423|           new_sprite->oldx = 0;
#  424|->         new_sprite->oldy = 0;
#  425|           new_sprite->oldz = 0;
#  426|           new_sprite->opacity = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1269]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:425: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  423|           new_sprite->oldx = 0;
#  424|           new_sprite->oldy = 0;
#  425|->         new_sprite->oldz = 0;
#  426|           new_sprite->opacity = 1;
#  427|           new_sprite->refresh_me = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1270]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:426: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  424|           new_sprite->oldy = 0;
#  425|           new_sprite->oldz = 0;
#  426|->         new_sprite->opacity = 1;
#  427|           new_sprite->refresh_me = 0;
#  428|           new_sprite->image = image;

Error: CPPCHECK_WARNING (CWE-476): [#def1271]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:427: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  425|           new_sprite->oldz = 0;
#  426|           new_sprite->opacity = 1;
#  427|->         new_sprite->refresh_me = 0;
#  428|           new_sprite->image = image;
#  429|           new_sprite->type = type;

Error: CPPCHECK_WARNING (CWE-476): [#def1272]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:428: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  426|           new_sprite->opacity = 1;
#  427|           new_sprite->refresh_me = 0;
#  428|->         new_sprite->image = image;
#  429|           new_sprite->type = type;
#  430|           new_sprite->data = data;

Error: CPPCHECK_WARNING (CWE-476): [#def1273]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:429: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  427|           new_sprite->refresh_me = 0;
#  428|           new_sprite->image = image;
#  429|->         new_sprite->type = type;
#  430|           new_sprite->data = data;
#  431|   

Error: CPPCHECK_WARNING (CWE-476): [#def1274]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:430: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: new_sprite
#  428|           new_sprite->image = image;
#  429|           new_sprite->type = type;
#  430|->         new_sprite->data = data;
#  431|   
#  432|           ply_list_append_data (view->sprites, new_sprite);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1275]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  430|           new_sprite->data = data;
#  431|   
#  432|->         ply_list_append_data (view->sprites, new_sprite);
#  433|   
#  434|           return new_sprite;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1276]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘flare’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  430|           new_sprite->data = data;
#  431|   
#  432|->         ply_list_append_data (view->sprites, new_sprite);
#  433|   
#  434|           return new_sprite;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1277]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘new_sprite’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  430|           new_sprite->data = data;
#  431|   
#  432|->         ply_list_append_data (view->sprites, new_sprite);
#  433|   
#  434|           return new_sprite;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1278]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  430|           new_sprite->data = data;
#  431|   
#  432|->         ply_list_append_data (view->sprites, new_sprite);
#  433|   
#  434|           return new_sprite;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1279]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:432:9: warning[-Wanalyzer-malloc-leak]: leak of ‘star_bg’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
#  430|           new_sprite->data = data;
#  431|   
#  432|->         ply_list_append_data (view->sprites, new_sprite);
#  433|   
#  434|           return new_sprite;

Error: CPPCHECK_WARNING (CWE-476): [#def1280]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:580: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  578|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  579|   
#  580|->         plugin->logo_image = ply_image_new (PLYMOUTH_LOGO_FILE);
#  581|   
#  582|           image_dir = ply_key_file_get_value (key_file, "space-flares", "ImageDir");

Error: COMPILER_WARNING (CWE-252): [#def1281]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c: scope_hint: In function ‘create_plugin’
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: CPPCHECK_WARNING (CWE-476): [#def1282]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:585: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  583|   
#  584|           asprintf (&image_path, "%s/lock.png", image_dir);
#  585|->         plugin->lock_image = ply_image_new (image_path);
#  586|           free (image_path);
#  587|   

Error: COMPILER_WARNING (CWE-252): [#def1283]
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: CPPCHECK_WARNING (CWE-476): [#def1284]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:589: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  587|   
#  588|           asprintf (&image_path, "%s/box.png", image_dir);
#  589|->         plugin->box_image = ply_image_new (image_path);
#  590|           free (image_path);
#  591|   

Error: COMPILER_WARNING (CWE-252): [#def1285]
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: CPPCHECK_WARNING (CWE-476): [#def1286]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:593: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  591|   
#  592|           asprintf (&image_path, "%s/star.png", image_dir);
#  593|->         plugin->star_image = ply_image_new (image_path);
#  594|           free (image_path);
#  595|   

Error: COMPILER_WARNING (CWE-252): [#def1287]
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: CPPCHECK_WARNING (CWE-476): [#def1288]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:622: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  620|   
#  621|           asprintf (&image_path, "%s/progress_bar.png", image_dir);
#  622|->         plugin->progress_barimage = ply_image_new (image_path);
#  623|           free (image_path);
#  624|   #endif

Error: CPPCHECK_WARNING (CWE-476): [#def1289]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:626: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  624|   #endif
#  625|   
#  626|->         plugin->plugin_console_messages_updating = false;
#  627|           plugin->should_show_console_messages = false;
#  628|   

Error: CPPCHECK_WARNING (CWE-476): [#def1290]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:627: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  625|   
#  626|           plugin->plugin_console_messages_updating = false;
#  627|->         plugin->should_show_console_messages = false;
#  628|   
#  629|           /* Likely only able to set the font if the font is in the initrd */

Error: CPPCHECK_WARNING (CWE-476): [#def1291]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:630: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  628|   
#  629|           /* Likely only able to set the font if the font is in the initrd */
#  630|->         plugin->monospace_font = ply_key_file_get_value (key_file, "two-step", "MonospaceFont");
#  631|   
#  632|           if (plugin->monospace_font == NULL)

Error: CPPCHECK_WARNING (CWE-476): [#def1292]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:632: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  630|           plugin->monospace_font = ply_key_file_get_value (key_file, "two-step", "MonospaceFont");
#  631|   
#  632|->         if (plugin->monospace_font == NULL)
#  633|                   plugin->monospace_font = strdup ("monospace 10");
#  634|   

Error: CPPCHECK_WARNING (CWE-476): [#def1293]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:635: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  633|                   plugin->monospace_font = strdup ("monospace 10");
#  634|   
#  635|->         plugin->console_text_color =
#  636|                   ply_key_file_get_ulong (key_file, "space-flares",
#  637|                                           "ConsoleLogTextColor",

Error: CPPCHECK_WARNING (CWE-476): [#def1294]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:640: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  638|                                           PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
#  639|   
#  640|->         plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  641|           plugin->progress = 0;
#  642|           plugin->progress_target = -1;

Error: CPPCHECK_WARNING (CWE-476): [#def1295]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:641: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  639|   
#  640|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  641|->         plugin->progress = 0;
#  642|           plugin->progress_target = -1;
#  643|   

Error: CPPCHECK_WARNING (CWE-476): [#def1296]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:642: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  640|           plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
#  641|           plugin->progress = 0;
#  642|->         plugin->progress_target = -1;
#  643|   
#  644|           plugin->image_dir = image_dir;

Error: CPPCHECK_WARNING (CWE-476): [#def1297]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:644: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  642|           plugin->progress_target = -1;
#  643|   
#  644|->         plugin->image_dir = image_dir;
#  645|   
#  646|           plugin->views = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1298]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:646: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  644|           plugin->image_dir = image_dir;
#  645|   
#  646|->         plugin->views = ply_list_new ();
#  647|   
#  648|           plugin->needs_redraw = true;

Error: CPPCHECK_WARNING (CWE-476): [#def1299]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:648: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  646|           plugin->views = ply_list_new ();
#  647|   
#  648|->         plugin->needs_redraw = true;
#  649|   
#  650|           return plugin;

Error: CPPCHECK_WARNING (CWE-476): [#def1300]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1019: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1017|                int      index)
# 1018|   {
# 1019|->         flare->rotate_yz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1020|           flare->rotate_xy[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1021|           flare->rotate_xz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;

Error: CPPCHECK_WARNING (CWE-476): [#def1301]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1020: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1018|   {
# 1019|           flare->rotate_yz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1020|->         flare->rotate_xy[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1021|           flare->rotate_xz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1022|           flare->y_size[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.8 + 0.2;

Error: CPPCHECK_WARNING (CWE-476): [#def1302]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1021: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1019|           flare->rotate_yz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1020|           flare->rotate_xy[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1021|->         flare->rotate_xz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1022|           flare->y_size[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.8 + 0.2;
# 1023|           flare->increase_speed[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.08 + 0.08;

Error: CPPCHECK_WARNING (CWE-476): [#def1303]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1022: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1020|           flare->rotate_xy[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1021|           flare->rotate_xz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1022|->         flare->y_size[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.8 + 0.2;
# 1023|           flare->increase_speed[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.08 + 0.08;
# 1024|           flare->stretch[index] = (((float) (ply_get_random_number (0, 1000)) / 1000) * 0.1 + 0.3) * flare->y_size[index];

Error: CPPCHECK_WARNING (CWE-476): [#def1304]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1023: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1021|           flare->rotate_xz[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 2 * M_PI;
# 1022|           flare->y_size[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.8 + 0.2;
# 1023|->         flare->increase_speed[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.08 + 0.08;
# 1024|           flare->stretch[index] = (((float) (ply_get_random_number (0, 1000)) / 1000) * 0.1 + 0.3) * flare->y_size[index];
# 1025|           flare->z_offset_strength[index] = 0.1;

Error: CPPCHECK_WARNING (CWE-476): [#def1305]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1024: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1022|           flare->y_size[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.8 + 0.2;
# 1023|           flare->increase_speed[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.08 + 0.08;
# 1024|->         flare->stretch[index] = (((float) (ply_get_random_number (0, 1000)) / 1000) * 0.1 + 0.3) * flare->y_size[index];
# 1025|           flare->z_offset_strength[index] = 0.1;
# 1026|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1306]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1025: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1023|           flare->increase_speed[index] = ((float) (ply_get_random_number (0, 1000)) / 1000) * 0.08 + 0.08;
# 1024|           flare->stretch[index] = (((float) (ply_get_random_number (0, 1000)) / 1000) * 0.1 + 0.3) * flare->y_size[index];
# 1025|->         flare->z_offset_strength[index] = 0.1;
# 1026|   }
# 1027|   

Error: CPPCHECK_WARNING (CWE-476): [#def1307]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1580: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1308]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1580:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘star_bg’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 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: CPPCHECK_WARNING (CWE-476): [#def1309]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1581: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 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);
# 1583|                   star_bg->star_refresh = malloc (sizeof(int) * star_bg->star_count);

Error: CPPCHECK_WARNING (CWE-476): [#def1310]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1582: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 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);
# 1583|                   star_bg->star_refresh = malloc (sizeof(int) * star_bg->star_count);
# 1584|                   star_bg->frame_count = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1311]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1583: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1581|                   star_bg->star_x = malloc (sizeof(int) * star_bg->star_count);
# 1582|                   star_bg->star_y = malloc (sizeof(int) * star_bg->star_count);
# 1583|->                 star_bg->star_refresh = malloc (sizeof(int) * star_bg->star_count);
# 1584|                   star_bg->frame_count = 0;
# 1585|                   sprite = add_sprite (view, view->scaled_background_image, SPRITE_TYPE_STAR_BG, star_bg);

Error: CPPCHECK_WARNING (CWE-476): [#def1312]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1584: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1582|                   star_bg->star_y = malloc (sizeof(int) * star_bg->star_count);
# 1583|                   star_bg->star_refresh = malloc (sizeof(int) * star_bg->star_count);
# 1584|->                 star_bg->frame_count = 0;
# 1585|                   sprite = add_sprite (view, view->scaled_background_image, SPRITE_TYPE_STAR_BG, star_bg);
# 1586|                   sprite->z = -10000;

Error: CPPCHECK_WARNING (CWE-476): [#def1313]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1595: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1593|                   }
# 1594|   
# 1595|->                 for (i = 0; i < star_bg->star_count; i++) {
# 1596|                           do {
# 1597|                                   x = ply_get_random_number (0, screen_width);

Error: CPPCHECK_WARNING (CWE-476): [#def1314]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1600: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1598|                                   y = ply_get_random_number (0, screen_height);
# 1599|                           } while (image_data[x + y * screen_width] == 0xFFFFFFFF);
# 1600|->                         star_bg->star_refresh[i] = 0;
# 1601|                           star_bg->star_x[i] = x;
# 1602|                           star_bg->star_y[i] = y;

Error: CPPCHECK_WARNING (CWE-476): [#def1315]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1601: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1599|                           } while (image_data[x + y * screen_width] == 0xFFFFFFFF);
# 1600|                           star_bg->star_refresh[i] = 0;
# 1601|->                         star_bg->star_x[i] = x;
# 1602|                           star_bg->star_y[i] = y;
# 1603|                           image_data[x + y * screen_width] = 0xFFFFFFFF;

Error: CPPCHECK_WARNING (CWE-476): [#def1316]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1602: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: star_bg
# 1600|                           star_bg->star_refresh[i] = 0;
# 1601|                           star_bg->star_x[i] = x;
# 1602|->                         star_bg->star_y[i] = y;
# 1603|                           image_data[x + y * screen_width] = 0xFFFFFFFF;
# 1604|                   }

Error: CPPCHECK_WARNING (CWE-476): [#def1317]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1682: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1318]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1682:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 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-401): [#def1319]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1684:32: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 1682|           progress->image = plugin->progress_barimage;
# 1683|   
# 1684|->         x = screen_width / 2 - ply_image_get_width (plugin->logo_image) / 2;
# 1685|           y = screen_height / 2 + ply_image_get_height (plugin->logo_image) / 2 + 20;
# 1686|           progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1320]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1685:33: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 1683|   
# 1684|           x = screen_width / 2 - ply_image_get_width (plugin->logo_image) / 2;
# 1685|->         y = screen_height / 2 + ply_image_get_height (plugin->logo_image) / 2 + 20;
# 1686|           progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|           progress->start_width = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1321]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1686: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
# 1684|           x = screen_width / 2 - ply_image_get_width (plugin->logo_image) / 2;
# 1685|           y = screen_height / 2 + ply_image_get_height (plugin->logo_image) / 2 + 20;
# 1686|->         progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|           progress->start_width = 1;
# 1688|           progress->end_width = ply_image_get_width (plugin->logo_image);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1322]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1686:35: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 1684|           x = screen_width / 2 - ply_image_get_width (plugin->logo_image) / 2;
# 1685|           y = screen_height / 2 + ply_image_get_height (plugin->logo_image) / 2 + 20;
# 1686|->         progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|           progress->start_width = 1;
# 1688|           progress->end_width = ply_image_get_width (plugin->logo_image);

Error: CPPCHECK_WARNING (CWE-476): [#def1323]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1687: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
# 1685|           y = screen_height / 2 + ply_image_get_height (plugin->logo_image) / 2 + 20;
# 1686|           progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|->         progress->start_width = 1;
# 1688|           progress->end_width = ply_image_get_width (plugin->logo_image);
# 1689|           progress->current_width = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def1324]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1688: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
# 1686|           progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|           progress->start_width = 1;
# 1688|->         progress->end_width = ply_image_get_width (plugin->logo_image);
# 1689|           progress->current_width = 0;
# 1690|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1325]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1688:31: warning[-Wanalyzer-malloc-leak]: leak of ‘progress’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 1686|           progress->image_altered = ply_image_resize (plugin->progress_barimage, ply_image_get_width (plugin->logo_image), ply_image_get_height (plugin->progress_barimage));
# 1687|           progress->start_width = 1;
# 1688|->         progress->end_width = ply_image_get_width (plugin->logo_image);
# 1689|           progress->current_width = 0;
# 1690|   

Error: CPPCHECK_WARNING (CWE-476): [#def1326]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1689: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
# 1687|           progress->start_width = 1;
# 1688|           progress->end_width = ply_image_get_width (plugin->logo_image);
# 1689|->         progress->current_width = 0;
# 1690|   
# 1691|           sprite = add_sprite (view, progress->image_altered, SPRITE_TYPE_PROGRESS, progress);

Error: CPPCHECK_WARNING (CWE-476): [#def1327]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1691: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: progress
# 1689|           progress->current_width = 0;
# 1690|   
# 1691|->         sprite = add_sprite (view, progress->image_altered, SPRITE_TYPE_PROGRESS, progress);
# 1692|           sprite->x = x;
# 1693|           sprite->y = y;

Error: CPPCHECK_WARNING (CWE-476): [#def1328]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1703: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1329]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1703:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘flare’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 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-401): [#def1330]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1703:26: warning[-Wanalyzer-malloc-leak]: leak of ‘flare’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 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: CPPCHECK_WARNING (CWE-476): [#def1331]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1704: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 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|   
# 1706|           sprite = add_sprite (view, flare->image_a, SPRITE_TYPE_FLARE, flare);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1332]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1704:26: warning[-Wanalyzer-malloc-leak]: leak of ‘flare’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1283:1: enter_function: entry to ‘start_animation’
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1291:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1295:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1298:17: call_function: calling ‘view_start_animation’ from ‘start_animation’
# 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|   
# 1706|           sprite = add_sprite (view, flare->image_a, SPRITE_TYPE_FLARE, flare);

Error: CPPCHECK_WARNING (CWE-476): [#def1333]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1706: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1704|           flare->image_b = ply_image_resize (plugin->star_image, width, height);
# 1705|   
# 1706|->         sprite = add_sprite (view, flare->image_a, SPRITE_TYPE_FLARE, flare);
# 1707|           sprite->x = screen_width - width;
# 1708|           sprite->y = screen_height - height;

Error: CPPCHECK_WARNING (CWE-476): [#def1334]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1713: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1711|           sprite_list_sort (view);
# 1712|   
# 1713|->         uint32_t *old_image_data = ply_image_get_data (flare->image_a);
# 1714|           uint32_t *new_image_data = ply_image_get_data (flare->image_b);
# 1715|   

Error: CPPCHECK_WARNING (CWE-476): [#def1335]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1714: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1712|   
# 1713|           uint32_t *old_image_data = ply_image_get_data (flare->image_a);
# 1714|->         uint32_t *new_image_data = ply_image_get_data (flare->image_b);
# 1715|   
# 1716|   

Error: CPPCHECK_WARNING (CWE-476): [#def1336]
plymouth-24.004.60/src/plugins/splash/space-flares/plugin.c:1727: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: flare
# 1725|                   flare_reset (flare, i);
# 1726|           }
# 1727|->         flare->frame_count = 0;
# 1728|           flare_update (sprite, i);
# 1729|   }

Error: CPPCHECK_WARNING (CWE-476): [#def1337]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:93: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   91|   
#   92|           view = calloc (1, sizeof(view_t));
#   93|->         view->plugin = plugin;
#   94|           view->display = display;
#   95|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1338]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:93:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
#   91|   
#   92|           view = calloc (1, sizeof(view_t));
#   93|->         view->plugin = plugin;
#   94|           view->display = display;
#   95|   

Error: CPPCHECK_WARNING (CWE-476): [#def1339]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:94: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   92|           view = calloc (1, sizeof(view_t));
#   93|           view->plugin = plugin;
#   94|->         view->display = display;
#   95|   
#   96|           view->step_bar = ply_text_step_bar_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1340]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   94|           view->display = display;
#   95|   
#   96|->         view->step_bar = ply_text_step_bar_new ();
#   97|   
#   98|           return view;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1341]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:96:26: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
#   94|           view->display = display;
#   95|   
#   96|->         view->step_bar = ply_text_step_bar_new ();
#   97|   
#   98|           return view;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1342]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:139:25: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  137|           int i;
#  138|   
#  139|->         display_width = ply_text_display_get_number_of_columns (view->display);
#  140|           display_height = ply_text_display_get_number_of_rows (view->display);
#  141|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1343]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:140:26: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  138|   
#  139|           display_width = ply_text_display_get_number_of_columns (view->display);
#  140|->         display_height = ply_text_display_get_number_of_rows (view->display);
#  141|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  142|           ply_text_display_clear_screen (view->display);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1344]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:141:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  139|           display_width = ply_text_display_get_number_of_columns (view->display);
#  140|           display_height = ply_text_display_get_number_of_rows (view->display);
#  141|->         ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  142|           ply_text_display_clear_screen (view->display);
#  143|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1345]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:142:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  140|           display_height = ply_text_display_get_number_of_rows (view->display);
#  141|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  142|->         ply_text_display_clear_screen (view->display);
#  143|   
#  144|           ply_text_display_set_cursor_position (view->display, 0, display_height / 2);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1346]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:144:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  142|           ply_text_display_clear_screen (view->display);
#  143|   
#  144|->         ply_text_display_set_cursor_position (view->display, 0, display_height / 2);
#  145|   
#  146|           for (i = 0; i < display_width; i++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1347]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:147:17: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  145|   
#  146|           for (i = 0; i < display_width; i++) {
#  147|->                 ply_text_display_write (view->display, "%c", ' ');
#  148|           }
#  149|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1348]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:150:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:612:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:634:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  148|           }
#  149|   
#  150|->         ply_text_display_set_cursor_position (view->display,
#  151|                                                 display_width / 2 - (strlen (prompt)),
#  152|                                                 display_height / 2);

Error: CPPCHECK_WARNING (CWE-476): [#def1349]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:307: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  305|   
#  306|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  307|->         plugin->message = NULL;
#  308|   
#  309|           plugin->views = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1350]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:309: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  307|           plugin->message = NULL;
#  308|   
#  309|->         plugin->views = ply_list_new ();
#  310|   
#  311|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1351]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:309:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:306:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/text/plugin.c:309:9: danger: ‘plugin’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  307|           plugin->message = NULL;
#  308|   
#  309|->         plugin->views = ply_list_new ();
#  310|   
#  311|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1352]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:309:25: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:306:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:309:25: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  307|           plugin->message = NULL;
#  308|   
#  309|->         plugin->views = ply_list_new ();
#  310|   
#  311|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1353]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:465:20: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:465:20: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/3)
#  463|           view = view_new (plugin, display);
#  464|   
#  465|->         terminal = ply_text_display_get_terminal (view->display);
#  466|           if (ply_terminal_open (terminal))
#  467|                   ply_terminal_activate_vt (terminal);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1354]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:466:13: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:466:13: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/3)
#  464|   
#  465|           terminal = ply_text_display_get_terminal (view->display);
#  466|->         if (ply_terminal_open (terminal))
#  467|                   ply_terminal_activate_vt (terminal);
#  468|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1355]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:467:17: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:466:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:467:17: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:467:17: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/3)
#  465|           terminal = ply_text_display_get_terminal (view->display);
#  466|           if (ply_terminal_open (terminal))
#  467|->                 ply_terminal_activate_vt (terminal);
#  468|   
#  469|           ply_text_display_set_draw_handler (view->display,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1356]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:469:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:457:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:463:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:469:9: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/3)
#  467|                   ply_terminal_activate_vt (terminal);
#  468|   
#  469|->         ply_text_display_set_draw_handler (view->display,
#  470|                                              (ply_text_display_draw_handler_t)
#  471|                                              on_draw, view);

Error: CPPCHECK_WARNING (CWE-476): [#def1357]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:623: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entered_text
#  621|   
#  622|           for (i = 0; i < bullets; i++) {
#  623|->                 entered_text[i] = '*';
#  624|           }
#  625|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1358]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:623:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_true: following ‘true’ branch (when ‘i < bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:623:29: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:623:17: danger: ‘entered_text + (sizetype)i’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  621|   
#  622|           for (i = 0; i < bullets; i++) {
#  623|->                 entered_text[i] = '*';
#  624|           }
#  625|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1359]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  624|           }
#  625|   
#  626|->         node = ply_list_get_first_node (plugin->views);
#  627|           while (node != NULL) {
#  628|                   ply_list_node_t *next_node;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1360]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  629|                   view_t *view;
#  630|   
#  631|->                 view = ply_list_node_get_data (node);
#  632|                   next_node = ply_list_get_next_node (plugin->views, node);
#  633|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1361]
plymouth-24.004.60/src/plugins/splash/text/plugin.c:632:29: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/text/plugin.c:620:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:622:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:626:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:627:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/text/plugin.c:631:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/text/plugin.c:632:29: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  630|   
#  631|                   view = ply_list_node_get_data (node);
#  632|->                 next_node = ply_list_get_next_node (plugin->views, node);
#  633|   
#  634|                   view_show_prompt (view, prompt, entered_text);

Error: CPPCHECK_WARNING (CWE-476): [#def1362]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:96: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   94|   
#   95|           view = calloc (1, sizeof(view_t));
#   96|->         view->plugin = plugin;
#   97|           view->display = display;
#   98|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1363]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:96:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
#   94|   
#   95|           view = calloc (1, sizeof(view_t));
#   96|->         view->plugin = plugin;
#   97|           view->display = display;
#   98|   

Error: CPPCHECK_WARNING (CWE-476): [#def1364]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:97: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   95|           view = calloc (1, sizeof(view_t));
#   96|           view->plugin = plugin;
#   97|->         view->display = display;
#   98|   
#   99|           view->progress_bar = ply_text_progress_bar_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1365]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:99: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#   97|           view->display = display;
#   98|   
#   99|->         view->progress_bar = ply_text_progress_bar_new ();
#  100|   
#  101|           return view;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1366]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:99:30: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
#   97|           view->display = display;
#   98|   
#   99|->         view->progress_bar = ply_text_progress_bar_new ();
#  100|   
#  101|           return view;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1367]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:142:25: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  140|           int i;
#  141|   
#  142|->         display_width = ply_text_display_get_number_of_columns (view->display);
#  143|           display_height = ply_text_display_get_number_of_rows (view->display);
#  144|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1368]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:143:26: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  141|   
#  142|           display_width = ply_text_display_get_number_of_columns (view->display);
#  143|->         display_height = ply_text_display_get_number_of_rows (view->display);
#  144|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  145|           ply_text_display_clear_screen (view->display);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1369]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:144:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  142|           display_width = ply_text_display_get_number_of_columns (view->display);
#  143|           display_height = ply_text_display_get_number_of_rows (view->display);
#  144|->         ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  145|           ply_text_display_clear_screen (view->display);
#  146|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1370]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:145:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  143|           display_height = ply_text_display_get_number_of_rows (view->display);
#  144|           ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
#  145|->         ply_text_display_clear_screen (view->display);
#  146|   
#  147|           ply_text_display_set_cursor_position (view->display, 0, display_height / 2);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1371]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:147:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  145|           ply_text_display_clear_screen (view->display);
#  146|   
#  147|->         ply_text_display_set_cursor_position (view->display, 0, display_height / 2);
#  148|   
#  149|           for (i = 0; i < display_width; i++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1372]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:150:17: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  148|   
#  149|           for (i = 0; i < display_width; i++) {
#  150|->                 ply_text_display_write (view->display, "%c", ' ');
#  151|           }
#  152|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1373]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:153:9: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:618:1: enter_function: entry to ‘show_password_prompt’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:640:17: call_function: calling ‘view_show_prompt’ from ‘show_password_prompt’
#  151|           }
#  152|   
#  153|->         ply_text_display_set_cursor_position (view->display,
#  154|                                                 display_width / 2 - (strlen (prompt)),
#  155|                                                 display_height / 2);

Error: CPPCHECK_WARNING (CWE-476): [#def1374]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:313: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  311|   
#  312|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
#  313|->         plugin->message = NULL;
#  314|   
#  315|           plugin->views = ply_list_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1375]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
#  313|           plugin->message = NULL;
#  314|   
#  315|->         plugin->views = ply_list_new ();
#  316|   
#  317|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1376]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:312:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315:9: danger: ‘plugin’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  313|           plugin->message = NULL;
#  314|   
#  315|->         plugin->views = ply_list_new ();
#  316|   
#  317|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1377]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315:25: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:312:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:315:25: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  313|           plugin->message = NULL;
#  314|   
#  315|->         plugin->views = ply_list_new ();
#  316|   
#  317|           return plugin;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1378]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:471:20: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:471:20: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/3)
#  469|           view = view_new (plugin, display);
#  470|   
#  471|->         terminal = ply_text_display_get_terminal (view->display);
#  472|           if (ply_terminal_open (terminal))
#  473|                   ply_terminal_activate_vt (terminal);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1379]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:472:13: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:472:13: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/3)
#  470|   
#  471|           terminal = ply_text_display_get_terminal (view->display);
#  472|->         if (ply_terminal_open (terminal))
#  473|                   ply_terminal_activate_vt (terminal);
#  474|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1380]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:473:17: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:472:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:473:17: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:473:17: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/3)
#  471|           terminal = ply_text_display_get_terminal (view->display);
#  472|           if (ply_terminal_open (terminal))
#  473|->                 ply_terminal_activate_vt (terminal);
#  474|   
#  475|           ply_text_display_set_draw_handler (view->display,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1381]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:475:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:463:1: enter_function: entry to ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: call_function: calling ‘view_new’ from ‘add_text_display’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:469:16: return_function: returning to ‘add_text_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:475:9: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/3)
#  473|                   ply_terminal_activate_vt (terminal);
#  474|   
#  475|->         ply_text_display_set_draw_handler (view->display,
#  476|                                              (ply_text_display_draw_handler_t)
#  477|                                              on_draw, view);

Error: CPPCHECK_WARNING (CWE-476): [#def1382]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:629: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: entered_text
#  627|   
#  628|           for (i = 0; i < bullets; i++) {
#  629|->                 entered_text[i] = '*';
#  630|           }
#  631|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1383]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:629:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_true: following ‘true’ branch (when ‘i < bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:629:29: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:629:17: danger: ‘entered_text + (sizetype)i’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  627|   
#  628|           for (i = 0; i < bullets; i++) {
#  629|->                 entered_text[i] = '*';
#  630|           }
#  631|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1384]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  630|           }
#  631|   
#  632|->         node = ply_list_get_first_node (plugin->views);
#  633|           while (node != NULL) {
#  634|                   ply_list_node_t *next_node;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1385]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  635|                   view_t *view;
#  636|   
#  637|->                 view = ply_list_node_get_data (node);
#  638|                   next_node = ply_list_get_next_node (plugin->views, node);
#  639|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1386]
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:638:29: warning[-Wanalyzer-malloc-leak]: leak of ‘entered_text’
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:626:24: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:628:21: branch_false: following ‘false’ branch (when ‘i >= bullets’)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:632:16: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:633:16: branch_true: following ‘true’ branch (when ‘node’ is non-NULL)...
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:637:24: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/tribar/plugin.c:638:29: danger: ‘entered_text’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  636|   
#  637|                   view = ply_list_node_get_data (node);
#  638|->                 next_node = ply_list_get_next_node (plugin->views, node);
#  639|   
#  640|                   view_show_prompt (view, prompt, entered_text);

Error: CPPCHECK_WARNING (CWE-476): [#def1387]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:234: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  232|   
#  233|           view = calloc (1, sizeof(view_t));
#  234|->         view->plugin = plugin;
#  235|           view->display = display;
#  236|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1388]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:234:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:234:9: danger: ‘view’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  232|   
#  233|           view = calloc (1, sizeof(view_t));
#  234|->         view->plugin = plugin;
#  235|           view->display = display;
#  236|   

Error: CPPCHECK_WARNING (CWE-476): [#def1389]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:235: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  233|           view = calloc (1, sizeof(view_t));
#  234|           view->plugin = plugin;
#  235|->         view->display = display;
#  236|   
#  237|           view->entry = ply_entry_new (plugin->animation_dir);

Error: CPPCHECK_WARNING (CWE-476): [#def1390]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:237: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  235|           view->display = display;
#  236|   
#  237|->         view->entry = ply_entry_new (plugin->animation_dir);
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1391]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:237:23: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:237:23: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  235|           view->display = display;
#  236|   
#  237|->         view->entry = ply_entry_new (plugin->animation_dir);
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);

Error: CPPCHECK_WARNING (CWE-476): [#def1392]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:238: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  236|   
#  237|           view->entry = ply_entry_new (plugin->animation_dir);
#  238|->         view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1393]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:238:29: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:238:29: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  236|   
#  237|           view->entry = ply_entry_new (plugin->animation_dir);
#  238|->         view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,

Error: CPPCHECK_WARNING (CWE-476): [#def1394]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:239: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  237|           view->entry = ply_entry_new (plugin->animation_dir);
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|->         view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1395]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:239:31: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:239:31: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  237|           view->entry = ply_entry_new (plugin->animation_dir);
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|->         view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");

Error: CPPCHECK_WARNING (CWE-476): [#def1396]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:240: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|->         view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");
#  242|           ply_progress_animation_set_transition (view->progress_animation,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1397]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:240:36: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:240:36: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  238|           view->keymap_icon = ply_keymap_icon_new (display, plugin->animation_dir);
#  239|           view->capslock_icon = ply_capslock_icon_new (plugin->animation_dir);
#  240|->         view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");
#  242|           ply_progress_animation_set_transition (view->progress_animation,

Error: CPPCHECK_WARNING (CWE-476): [#def1398]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:242: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");
#  242|->         ply_progress_animation_set_transition (view->progress_animation,
#  243|                                                  plugin->transition,
#  244|                                                  plugin->transition_duration);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1399]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:242:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:242:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  240|           view->progress_animation = ply_progress_animation_new (plugin->animation_dir,
#  241|                                                                  "progress-");
#  242|->         ply_progress_animation_set_transition (view->progress_animation,
#  243|                                                  plugin->transition,
#  244|                                                  plugin->transition_duration);

Error: CPPCHECK_WARNING (CWE-476): [#def1400]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:246: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  244|                                                  plugin->transition_duration);
#  245|   
#  246|->         view->progress_bar = ply_progress_bar_new ();
#  247|           ply_progress_bar_set_colors (view->progress_bar,
#  248|                                        plugin->progress_bar_fg_color,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1401]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:246:30: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:246:30: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  244|                                                  plugin->transition_duration);
#  245|   
#  246|->         view->progress_bar = ply_progress_bar_new ();
#  247|           ply_progress_bar_set_colors (view->progress_bar,
#  248|                                        plugin->progress_bar_fg_color,

Error: CPPCHECK_WARNING (CWE-476): [#def1402]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:247: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  245|   
#  246|           view->progress_bar = ply_progress_bar_new ();
#  247|->         ply_progress_bar_set_colors (view->progress_bar,
#  248|                                        plugin->progress_bar_fg_color,
#  249|                                        plugin->progress_bar_bg_color);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1403]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:247:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:247:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  245|   
#  246|           view->progress_bar = ply_progress_bar_new ();
#  247|->         ply_progress_bar_set_colors (view->progress_bar,
#  248|                                        plugin->progress_bar_fg_color,
#  249|                                        plugin->progress_bar_bg_color);

Error: CPPCHECK_WARNING (CWE-476): [#def1404]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:251: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  249|                                        plugin->progress_bar_bg_color);
#  250|   
#  251|->         view->throbber = ply_throbber_new (plugin->animation_dir,
#  252|                                              "throbber-");
#  253|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1405]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:251:26: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:251:26: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  249|                                        plugin->progress_bar_bg_color);
#  250|   
#  251|->         view->throbber = ply_throbber_new (plugin->animation_dir,
#  252|                                              "throbber-");
#  253|   

Error: CPPCHECK_WARNING (CWE-476): [#def1406]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:254: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  252|                                              "throbber-");
#  253|   
#  254|->         view->label = ply_label_new ();
#  255|           ply_label_set_font (view->label, plugin->font);
#  256|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1407]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:254:23: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:254:23: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  252|                                              "throbber-");
#  253|   
#  254|->         view->label = ply_label_new ();
#  255|           ply_label_set_font (view->label, plugin->font);
#  256|   

Error: CPPCHECK_WARNING (CWE-476): [#def1408]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:255: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  253|   
#  254|           view->label = ply_label_new ();
#  255|->         ply_label_set_font (view->label, plugin->font);
#  256|   
#  257|           view->message_label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1409]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:255:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:255:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  253|   
#  254|           view->label = ply_label_new ();
#  255|->         ply_label_set_font (view->label, plugin->font);
#  256|   
#  257|           view->message_label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1410]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:257: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  255|           ply_label_set_font (view->label, plugin->font);
#  256|   
#  257|->         view->message_label = ply_label_new ();
#  258|           ply_label_set_font (view->message_label, plugin->font);
#  259|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1411]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:257:31: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:257:31: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  255|           ply_label_set_font (view->label, plugin->font);
#  256|   
#  257|->         view->message_label = ply_label_new ();
#  258|           ply_label_set_font (view->message_label, plugin->font);
#  259|   

Error: CPPCHECK_WARNING (CWE-476): [#def1412]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:258: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  256|   
#  257|           view->message_label = ply_label_new ();
#  258|->         ply_label_set_font (view->message_label, plugin->font);
#  259|   
#  260|           view->title_label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1413]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:258:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:258:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  256|   
#  257|           view->message_label = ply_label_new ();
#  258|->         ply_label_set_font (view->message_label, plugin->font);
#  259|   
#  260|           view->title_label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1414]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:260: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  258|           ply_label_set_font (view->message_label, plugin->font);
#  259|   
#  260|->         view->title_label = ply_label_new ();
#  261|           ply_label_set_font (view->title_label, plugin->title_font);
#  262|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1415]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:260:29: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:260:29: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  258|           ply_label_set_font (view->message_label, plugin->font);
#  259|   
#  260|->         view->title_label = ply_label_new ();
#  261|           ply_label_set_font (view->title_label, plugin->title_font);
#  262|   

Error: CPPCHECK_WARNING (CWE-476): [#def1416]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:261: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  259|   
#  260|           view->title_label = ply_label_new ();
#  261|->         ply_label_set_font (view->title_label, plugin->title_font);
#  262|   
#  263|           view->subtitle_label = ply_label_new ();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1417]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:261:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:261:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  259|   
#  260|           view->title_label = ply_label_new ();
#  261|->         ply_label_set_font (view->title_label, plugin->title_font);
#  262|   
#  263|           view->subtitle_label = ply_label_new ();

Error: CPPCHECK_WARNING (CWE-476): [#def1418]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:263: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  261|           ply_label_set_font (view->title_label, plugin->title_font);
#  262|   
#  263|->         view->subtitle_label = ply_label_new ();
#  264|           ply_label_set_font (view->subtitle_label, plugin->font);
#  265|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1419]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:263:32: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:263:32: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  261|           ply_label_set_font (view->title_label, plugin->title_font);
#  262|   
#  263|->         view->subtitle_label = ply_label_new ();
#  264|           ply_label_set_font (view->subtitle_label, plugin->font);
#  265|   

Error: CPPCHECK_WARNING (CWE-476): [#def1420]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:264: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: view
#  262|   
#  263|           view->subtitle_label = ply_label_new ();
#  264|->         ply_label_set_font (view->subtitle_label, plugin->font);
#  265|   
#  266|           if (ply_console_viewer_preferred ()) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1421]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:264:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:264:9: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/0)
#  262|   
#  263|           view->subtitle_label = ply_label_new ();
#  264|->         ply_label_set_font (view->subtitle_label, plugin->font);
#  265|   
#  266|           if (ply_console_viewer_preferred ()) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1422]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:266:13: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:266:13: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  264|           ply_label_set_font (view->subtitle_label, plugin->font);
#  265|   
#  266|->         if (ply_console_viewer_preferred ()) {
#  267|                   view->console_viewer = ply_console_viewer_new (view->display, plugin->monospace_font);
#  268|                   ply_console_viewer_set_text_color (view->console_viewer, plugin->console_text_color);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1423]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:267:40: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:266:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:267:79: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:267:40: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  265|   
#  266|           if (ply_console_viewer_preferred ()) {
#  267|->                 view->console_viewer = ply_console_viewer_new (view->display, plugin->monospace_font);
#  268|                   ply_console_viewer_set_text_color (view->console_viewer, plugin->console_text_color);
#  269|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1424]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:268:17: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:266:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:267:79: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:268:17: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  266|           if (ply_console_viewer_preferred ()) {
#  267|                   view->console_viewer = ply_console_viewer_new (view->display, plugin->monospace_font);
#  268|->                 ply_console_viewer_set_text_color (view->console_viewer, plugin->console_text_color);
#  269|   
#  270|                   if (plugin->boot_buffer)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1425]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:271:25: warning[-Wanalyzer-malloc-leak]: leak of ‘view’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:233:16: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:266:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:267:79: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:270:20: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:271:25: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:271:25: danger: ‘view’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  269|   
#  270|                   if (plugin->boot_buffer)
#  271|->                         ply_console_viewer_convert_boot_buffer (view->console_viewer, plugin->boot_buffer);
#  272|           } else {
#  273|                   view->console_viewer = NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1426]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1136:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1134|   
# 1135|           settings->suppress_messages =
# 1136|->                 ply_key_file_get_bool (key_file, group_name, "SuppressMessages");
# 1137|           settings->progress_bar_show_percent_complete =
# 1138|                   ply_key_file_get_bool (key_file, group_name, "ProgressBarShowPercentComplete");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1427]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1138:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1136|                   ply_key_file_get_bool (key_file, group_name, "SuppressMessages");
# 1137|           settings->progress_bar_show_percent_complete =
# 1138|->                 ply_key_file_get_bool (key_file, group_name, "ProgressBarShowPercentComplete");
# 1139|           settings->use_progress_bar =
# 1140|                   ply_key_file_get_bool (key_file, group_name, "UseProgressBar");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1428]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1140:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1138|                   ply_key_file_get_bool (key_file, group_name, "ProgressBarShowPercentComplete");
# 1139|           settings->use_progress_bar =
# 1140|->                 ply_key_file_get_bool (key_file, group_name, "UseProgressBar");
# 1141|           settings->use_firmware_background =
# 1142|                   ply_key_file_get_bool (key_file, group_name, "UseFirmwareBackground");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1429]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1142:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1140|                   ply_key_file_get_bool (key_file, group_name, "UseProgressBar");
# 1141|           settings->use_firmware_background =
# 1142|->                 ply_key_file_get_bool (key_file, group_name, "UseFirmwareBackground");
# 1143|   
# 1144|           /* This defaults to !use_progress_bar for compat. with older themes */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1430]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1145:13: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1143|   
# 1144|           /* This defaults to !use_progress_bar for compat. with older themes */
# 1145|->         if (ply_key_file_has_key (key_file, group_name, "UseAnimation"))
# 1146|                   settings->use_animation =
# 1147|                           ply_key_file_get_bool (key_file, group_name, "UseAnimation");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1431]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1147:25: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1145|           if (ply_key_file_has_key (key_file, group_name, "UseAnimation"))
# 1146|                   settings->use_animation =
# 1147|->                         ply_key_file_get_bool (key_file, group_name, "UseAnimation");
# 1148|           else
# 1149|                   settings->use_animation = !settings->use_progress_bar;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1432]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1152:13: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1150|   
# 1151|           /* This defaults to true for compat. with older themes */
# 1152|->         if (ply_key_file_has_key (key_file, group_name, "UseEndAnimation"))
# 1153|                   settings->use_end_animation =
# 1154|                           ply_key_file_get_bool (key_file, group_name, "UseEndAnimation");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1433]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1154:25: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1167:1: enter_function: entry to ‘create_plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1335:9: call_function: calling ‘load_mode_settings’ from ‘create_plugin’
# 1152|           if (ply_key_file_has_key (key_file, group_name, "UseEndAnimation"))
# 1153|                   settings->use_end_animation =
# 1154|->                         ply_key_file_get_bool (key_file, group_name, "UseEndAnimation");
# 1155|           else
# 1156|                   settings->use_end_animation = true;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1434]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1177:21: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1177:21: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/0)
# 1175|           plugin = calloc (1, sizeof(ply_boot_splash_plugin_t));
# 1176|   
# 1177|->         image_dir = ply_key_file_get_value (key_file, "two-step", "ImageDir");
# 1178|   
# 1179|           ply_trace ("Using '%s' as working directory", image_dir);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1435]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1179:9: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1179:9: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/0)
# 1177|           image_dir = ply_key_file_get_value (key_file, "two-step", "ImageDir");
# 1178|   
# 1179|->         ply_trace ("Using '%s' as working directory", image_dir);
# 1180|   
# 1181|           asprintf (&image_path, "%s/lock.png", image_dir);

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

Error: CPPCHECK_WARNING (CWE-476): [#def1437]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1182: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
# 1180|   
# 1181|           asprintf (&image_path, "%s/lock.png", image_dir);
# 1182|->         plugin->lock_image = ply_image_new (image_path);
# 1183|           free (image_path);
# 1184|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1438]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1182:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1182:9: danger: ‘plugin’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/0)
# 1180|   
# 1181|           asprintf (&image_path, "%s/lock.png", image_dir);
# 1182|->         plugin->lock_image = ply_image_new (image_path);
# 1183|           free (image_path);
# 1184|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1439]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1182:30: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1182:30: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/0)
# 1180|   
# 1181|           asprintf (&image_path, "%s/lock.png", image_dir);
# 1182|->         plugin->lock_image = ply_image_new (image_path);
# 1183|           free (image_path);
# 1184|   

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

Error: CPPCHECK_WARNING (CWE-476): [#def1441]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1186: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
# 1184|   
# 1185|           asprintf (&image_path, "%s/box.png", image_dir);
# 1186|->         plugin->box_image = ply_image_new (image_path);
# 1187|           free (image_path);
# 1188|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1442]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1186:29: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1186:29: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/0)
# 1184|   
# 1185|           asprintf (&image_path, "%s/box.png", image_dir);
# 1186|->         plugin->box_image = ply_image_new (image_path);
# 1187|           free (image_path);
# 1188|   

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

Error: CPPCHECK_WARNING (CWE-476): [#def1444]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1190: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
# 1188|   
# 1189|           asprintf (&image_path, "%s/corner-image.png", image_dir);
# 1190|->         plugin->corner_image = ply_image_new (image_path);
# 1191|           free (image_path);
# 1192|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1445]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1190:32: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1190:32: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/0)
# 1188|   
# 1189|           asprintf (&image_path, "%s/corner-image.png", image_dir);
# 1190|->         plugin->corner_image = ply_image_new (image_path);
# 1191|           free (image_path);
# 1192|   

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

Error: CPPCHECK_WARNING (CWE-476): [#def1447]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1194: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: plugin
# 1192|   
# 1193|           asprintf (&image_path, "%s/header-image.png", image_dir);
# 1194|->         plugin->header_image = ply_image_new (image_path);
# 1195|           free (image_path);
# 1196|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1448]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1194:32: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1194:32: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/0)
# 1192|   
# 1193|           asprintf (&image_path, "%s/header-image.png", image_dir);
# 1194|->         plugin->header_image = ply_image_new (image_path);
# 1195|           free (image_path);
# 1196|   

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1450]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1198:14: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1198:14: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/0)
# 1196|   
# 1197|           asprintf (&image_path, "%s/background.png", image_dir);
# 1198|->         if (!ply_file_exists (image_path)) {
# 1199|                   free (image_path);
# 1200|                   asprintf (&image_path, "%s/background-tile.png", image_dir);

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1452]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1203:36: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1203:36: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/0)
# 1201|           }
# 1202|   
# 1203|->         plugin->background_image = ply_image_new (image_path);
# 1204|   
# 1205|           free (image_path);

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1454]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1208:35: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1208:35: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/0)
# 1206|   
# 1207|           asprintf (&image_path, "%s/watermark.png", image_dir);
# 1208|->         plugin->watermark_image = ply_image_new (image_path);
# 1209|           free (image_path);
# 1210|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1455]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1212:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1212:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/46/codeFlows/0/threadFlows/0/locations/0)
# 1210|   
# 1211|           plugin->background_image_is_scaled =
# 1212|->                 ply_key_file_get_bool (key_file, "two-step", "ScaleBackgroundImage");
# 1213|   
# 1214|           if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") &&

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1456]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1214:14: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1214:14: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/47/codeFlows/0/threadFlows/0/locations/0)
# 1212|                   ply_key_file_get_bool (key_file, "two-step", "ScaleBackgroundImage");
# 1213|   
# 1214|->         if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") &&
# 1215|               !ply_is_secure_boot_enabled ()) {
# 1216|                   asprintf (&image_path, "%s/emblem-warning.png", image_dir);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1457]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1215:14: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1214:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1215:14: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1215:14: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/48/codeFlows/0/threadFlows/0/locations/0)
# 1213|   
# 1214|           if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") &&
# 1215|->             !ply_is_secure_boot_enabled ()) {
# 1216|                   asprintf (&image_path, "%s/emblem-warning.png", image_dir);
# 1217|                   plugin->secure_boot_warning_image = ply_image_new (image_path);

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1459]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1217:53: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1214:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1215:14: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1214:13: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1216:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1217:53: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/49/codeFlows/0/threadFlows/0/locations/0)
# 1215|               !ply_is_secure_boot_enabled ()) {
# 1216|                   asprintf (&image_path, "%s/emblem-warning.png", image_dir);
# 1217|->                 plugin->secure_boot_warning_image = ply_image_new (image_path);
# 1218|                   free (image_path);
# 1219|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1460]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1223:24: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1223:24: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/50/codeFlows/0/threadFlows/0/locations/0)
# 1221|           plugin->animation_dir = image_dir;
# 1222|   
# 1223|->         plugin->font = ply_key_file_get_value (key_file, "two-step", "Font");
# 1224|           plugin->title_font = ply_key_file_get_value (key_file, "two-step", "TitleFont");
# 1225|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1461]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1224:30: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1224:30: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/0)
# 1222|   
# 1223|           plugin->font = ply_key_file_get_value (key_file, "two-step", "Font");
# 1224|->         plugin->title_font = ply_key_file_get_value (key_file, "two-step", "TitleFont");
# 1225|   
# 1226|           /* Throbber, progress- and end-animation alignment */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1462]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1228:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1228:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/0)
# 1226|           /* Throbber, progress- and end-animation alignment */
# 1227|           plugin->animation_horizontal_alignment =
# 1228|->                 ply_key_file_get_double (key_file, "two-step",
# 1229|                                            "HorizontalAlignment", 0.5);
# 1230|           plugin->animation_vertical_alignment =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1463]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1231:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1231:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/0)
# 1229|                                            "HorizontalAlignment", 0.5);
# 1230|           plugin->animation_vertical_alignment =
# 1231|->                 ply_key_file_get_double (key_file, "two-step",
# 1232|                                            "VerticalAlignment", 0.5);
# 1233|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1464]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1238:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1238:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/0)
# 1236|            */
# 1237|           plugin->progress_bar_horizontal_alignment =
# 1238|->                 ply_key_file_get_double (key_file, "two-step",
# 1239|                                            "ProgressBarHorizontalAlignment",
# 1240|                                            plugin->animation_horizontal_alignment);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1465]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1242:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1242:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/0)
# 1240|                                            plugin->animation_horizontal_alignment);
# 1241|           plugin->progress_bar_vertical_alignment =
# 1242|->                 ply_key_file_get_double (key_file, "two-step",
# 1243|                                            "ProgressBarVerticalAlignment",
# 1244|                                            plugin->animation_vertical_alignment);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1466]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1248:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1248:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/56/codeFlows/0/threadFlows/0/locations/0)
# 1246|           /* Watermark alignment */
# 1247|           plugin->watermark_horizontal_alignment =
# 1248|->                 ply_key_file_get_double (key_file, "two-step",
# 1249|                                            "WatermarkHorizontalAlignment", 1.0);
# 1250|           plugin->watermark_vertical_alignment =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1467]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1251:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1251:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/57/codeFlows/0/threadFlows/0/locations/0)
# 1249|                                            "WatermarkHorizontalAlignment", 1.0);
# 1250|           plugin->watermark_vertical_alignment =
# 1251|->                 ply_key_file_get_double (key_file, "two-step",
# 1252|                                            "WatermarkVerticalAlignment", 0.5);
# 1253|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1468]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1256:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1256:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/58/codeFlows/0/threadFlows/0/locations/0)
# 1254|           /* Secure boot warning icon alignment */
# 1255|           plugin->secure_boot_horizontal_alignment =
# 1256|->                 ply_key_file_get_double (key_file, "two-step",
# 1257|                                            "SecureBootHorizontalAlignment", 0.05);
# 1258|           plugin->secure_boot_vertical_alignment =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1469]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1259:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1259:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/59/codeFlows/0/threadFlows/0/locations/0)
# 1257|                                            "SecureBootHorizontalAlignment", 0.05);
# 1258|           plugin->secure_boot_vertical_alignment =
# 1259|->                 ply_key_file_get_double (key_file, "two-step",
# 1260|                                            "SecureBootVerticalAlignment", 0.95);
# 1261|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1470]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1264:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1264:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/60/codeFlows/0/threadFlows/0/locations/0)
# 1262|           /* Password (or other) dialog alignment */
# 1263|           plugin->dialog_horizontal_alignment =
# 1264|->                 ply_key_file_get_double (key_file, "two-step",
# 1265|                                            "DialogHorizontalAlignment", 0.5);
# 1266|           plugin->dialog_vertical_alignment =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1471]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1267:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1267:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/61/codeFlows/0/threadFlows/0/locations/0)
# 1265|                                            "DialogHorizontalAlignment", 0.5);
# 1266|           plugin->dialog_vertical_alignment =
# 1267|->                 ply_key_file_get_double (key_file, "two-step",
# 1268|                                            "DialogVerticalAlignment", 0.5);
# 1269|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1472]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1272:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1272:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/62/codeFlows/0/threadFlows/0/locations/0)
# 1270|           /* Title alignment */
# 1271|           plugin->title_horizontal_alignment =
# 1272|->                 ply_key_file_get_double (key_file, "two-step",
# 1273|                                            "TitleHorizontalAlignment", 0.5);
# 1274|           plugin->title_vertical_alignment =

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1473]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1275:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1275:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/63/codeFlows/0/threadFlows/0/locations/0)
# 1273|                                            "TitleHorizontalAlignment", 0.5);
# 1274|           plugin->title_vertical_alignment =
# 1275|->                 ply_key_file_get_double (key_file, "two-step",
# 1276|                                            "TitleVerticalAlignment", 0.5);
# 1277|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1474]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1279:22: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1279:22: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/64/codeFlows/0/threadFlows/0/locations/0)
# 1277|   
# 1278|           plugin->transition = PLY_PROGRESS_ANIMATION_TRANSITION_NONE;
# 1279|->         transition = ply_key_file_get_value (key_file, "two-step", "Transition");
# 1280|           if (transition != NULL) {
# 1281|                   if (strcmp (transition, "fade-over") == 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1475]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1294:34: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1294:34: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/65/codeFlows/0/threadFlows/0/locations/0)
# 1292|   
# 1293|           /* Likely only able to set the font if the font is in the initrd */
# 1294|->         plugin->monospace_font = ply_key_file_get_value (key_file, "two-step", "MonospaceFont");
# 1295|   
# 1296|           if (plugin->monospace_font == NULL)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1476]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/67/codeFlows/0/threadFlows/0/locations/2)
# 1299|   
# 1300|           plugin->console_text_color =
# 1301|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1302|                                           "ConsoleLogTextColor",
# 1303|                                           PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1477]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/66/codeFlows/0/threadFlows/0/locations/0)
# 1299|   
# 1300|           plugin->console_text_color =
# 1301|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1302|                                           "ConsoleLogTextColor",
# 1303|                                           PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1478]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1306:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1306:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/69/codeFlows/0/threadFlows/0/locations/2)
# 1304|   
# 1305|           plugin->transition_duration =
# 1306|->                 ply_key_file_get_double (key_file, "two-step",
# 1307|                                            "TransitionDuration", 0.0);
# 1308|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1479]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1306:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1306:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/68/codeFlows/0/threadFlows/0/locations/0)
# 1304|   
# 1305|           plugin->transition_duration =
# 1306|->                 ply_key_file_get_double (key_file, "two-step",
# 1307|                                            "TransitionDuration", 0.0);
# 1308|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1480]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1310:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1310:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/71/codeFlows/0/threadFlows/0/locations/2)
# 1308|   
# 1309|           plugin->background_start_color =
# 1310|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1311|                                           "BackgroundStartColor",
# 1312|                                           PLYMOUTH_BACKGROUND_START_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1481]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1310:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1310:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/70/codeFlows/0/threadFlows/0/locations/0)
# 1308|   
# 1309|           plugin->background_start_color =
# 1310|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1311|                                           "BackgroundStartColor",
# 1312|                                           PLYMOUTH_BACKGROUND_START_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1482]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1314:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1314:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/73/codeFlows/0/threadFlows/0/locations/2)
# 1312|                                           PLYMOUTH_BACKGROUND_START_COLOR);
# 1313|           plugin->background_end_color =
# 1314|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1315|                                           "BackgroundEndColor",
# 1316|                                           PLYMOUTH_BACKGROUND_END_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1483]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1314:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1314:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/72/codeFlows/0/threadFlows/0/locations/0)
# 1312|                                           PLYMOUTH_BACKGROUND_START_COLOR);
# 1313|           plugin->background_end_color =
# 1314|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1315|                                           "BackgroundEndColor",
# 1316|                                           PLYMOUTH_BACKGROUND_END_COLOR);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1484]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1319:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1319:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/75/codeFlows/0/threadFlows/0/locations/2)
# 1317|   
# 1318|           plugin->progress_bar_bg_color =
# 1319|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1320|                                           "ProgressBarBackgroundColor",
# 1321|                                           0xffffff /* white */);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1485]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1319:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1319:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/74/codeFlows/0/threadFlows/0/locations/0)
# 1317|   
# 1318|           plugin->progress_bar_bg_color =
# 1319|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1320|                                           "ProgressBarBackgroundColor",
# 1321|                                           0xffffff /* white */);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1486]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1323:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1323:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/77/codeFlows/0/threadFlows/0/locations/2)
# 1321|                                           0xffffff /* white */);
# 1322|           plugin->progress_bar_fg_color =
# 1323|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1324|                                           "ProgressBarForegroundColor",
# 1325|                                           0x000000 /* black */);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1487]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1323:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1323:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/76/codeFlows/0/threadFlows/0/locations/0)
# 1321|                                           0xffffff /* white */);
# 1322|           plugin->progress_bar_fg_color =
# 1323|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1324|                                           "ProgressBarForegroundColor",
# 1325|                                           0x000000 /* black */);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1488]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1327:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1327:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/79/codeFlows/0/threadFlows/0/locations/2)
# 1325|                                           0x000000 /* black */);
# 1326|           plugin->progress_bar_width =
# 1327|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1328|                                           "ProgressBarWidth",
# 1329|                                           PROGRESS_BAR_WIDTH);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1489]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1327:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1327:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/78/codeFlows/0/threadFlows/0/locations/0)
# 1325|                                           0x000000 /* black */);
# 1326|           plugin->progress_bar_width =
# 1327|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1328|                                           "ProgressBarWidth",
# 1329|                                           PROGRESS_BAR_WIDTH);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1490]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1331:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: branch_true: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1297:42: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1331:17: danger: ‘<unknown>’ leaks here; was allocated at [(3)](sarif:/runs/0/results/81/codeFlows/0/threadFlows/0/locations/2)
# 1329|                                           PROGRESS_BAR_WIDTH);
# 1330|           plugin->progress_bar_height =
# 1331|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1332|                                           "ProgressBarHeight",
# 1333|                                           PROGRESS_BAR_HEIGHT);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1491]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1331:17: warning[-Wanalyzer-malloc-leak]: leak of ‘plugin’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1175:18: acquire_memory: allocated here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1296:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1301:17: branch_false: ...to here
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1331:17: danger: ‘plugin’ leaks here; was allocated at [(1)](sarif:/runs/0/results/80/codeFlows/0/threadFlows/0/locations/0)
# 1329|                                           PROGRESS_BAR_WIDTH);
# 1330|           plugin->progress_bar_height =
# 1331|->                 ply_key_file_get_ulong (key_file, "two-step",
# 1332|                                           "ProgressBarHeight",
# 1333|                                           PROGRESS_BAR_HEIGHT);

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

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1493]
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1789:9: warning[-Wanalyzer-malloc-leak]: leak of ‘view_new(plugin,  display)’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1781:1: enter_function: entry to ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1787:16: call_function: calling ‘view_new’ from ‘add_pixel_display’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1787:16: return_function: returning to ‘add_pixel_display’ from ‘view_new’
plymouth-24.004.60/src/plugins/splash/two-step/plugin.c:1789:9: danger: ‘view_new(plugin,  display)’ leaks here; was allocated at [(4)](sarif:/runs/0/results/82/codeFlows/0/threadFlows/0/locations/3)
# 1787|           view = view_new (plugin, display);
# 1788|   
# 1789|->         ply_pixel_display_set_draw_handler (view->display,
# 1790|                                               (ply_pixel_display_draw_handler_t)
# 1791|                                               on_draw, view);

Error: CPPCHECK_WARNING (CWE-476): [#def1494]
plymouth-24.004.60/src/ply-boot-server.c:115: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1495]
plymouth-24.004.60/src/ply-boot-server.c:115:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘server’
plymouth-24.004.60/src/ply-boot-server.c:114:18: acquire_memory: this call could return NULL
plymouth-24.004.60/src/ply-boot-server.c:115:9: danger: ‘server’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  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-401): [#def1496]
plymouth-24.004.60/src/ply-boot-server.c:115:31: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
plymouth-24.004.60/src/ply-boot-server.c:114:18: acquire_memory: allocated here
plymouth-24.004.60/src/ply-boot-server.c:115:31: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  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: CPPCHECK_WARNING (CWE-476): [#def1497]
plymouth-24.004.60/src/ply-boot-server.c:116: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  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;
#  118|           server->is_listening = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1498]
plymouth-24.004.60/src/ply-boot-server.c:116:36: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
plymouth-24.004.60/src/ply-boot-server.c:114:18: acquire_memory: allocated here
plymouth-24.004.60/src/ply-boot-server.c:116:36: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  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;
#  118|           server->is_listening = false;

Error: CPPCHECK_WARNING (CWE-476): [#def1499]
plymouth-24.004.60/src/ply-boot-server.c:117: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  115|           server->connections = ply_list_new ();
#  116|           server->cached_passwords = ply_list_new ();
#  117|->         server->loop = NULL;
#  118|           server->is_listening = false;
#  119|           server->update_handler = update_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1500]
plymouth-24.004.60/src/ply-boot-server.c:118: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  116|           server->cached_passwords = ply_list_new ();
#  117|           server->loop = NULL;
#  118|->         server->is_listening = false;
#  119|           server->update_handler = update_handler;
#  120|           server->change_mode_handler = change_mode_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1501]
plymouth-24.004.60/src/ply-boot-server.c:119: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  117|           server->loop = NULL;
#  118|           server->is_listening = false;
#  119|->         server->update_handler = update_handler;
#  120|           server->change_mode_handler = change_mode_handler;
#  121|           server->system_update_handler = system_update_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1502]
plymouth-24.004.60/src/ply-boot-server.c:120: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  118|           server->is_listening = false;
#  119|           server->update_handler = update_handler;
#  120|->         server->change_mode_handler = change_mode_handler;
#  121|           server->system_update_handler = system_update_handler;
#  122|           server->ask_for_password_handler = ask_for_password_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1503]
plymouth-24.004.60/src/ply-boot-server.c:121: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  119|           server->update_handler = update_handler;
#  120|           server->change_mode_handler = change_mode_handler;
#  121|->         server->system_update_handler = system_update_handler;
#  122|           server->ask_for_password_handler = ask_for_password_handler;
#  123|           server->ask_question_handler = ask_question_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1504]
plymouth-24.004.60/src/ply-boot-server.c:122: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  120|           server->change_mode_handler = change_mode_handler;
#  121|           server->system_update_handler = system_update_handler;
#  122|->         server->ask_for_password_handler = ask_for_password_handler;
#  123|           server->ask_question_handler = ask_question_handler;
#  124|           server->display_message_handler = display_message_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1505]
plymouth-24.004.60/src/ply-boot-server.c:123: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  121|           server->system_update_handler = system_update_handler;
#  122|           server->ask_for_password_handler = ask_for_password_handler;
#  123|->         server->ask_question_handler = ask_question_handler;
#  124|           server->display_message_handler = display_message_handler;
#  125|           server->hide_message_handler = hide_message_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1506]
plymouth-24.004.60/src/ply-boot-server.c:124: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  122|           server->ask_for_password_handler = ask_for_password_handler;
#  123|           server->ask_question_handler = ask_question_handler;
#  124|->         server->display_message_handler = display_message_handler;
#  125|           server->hide_message_handler = hide_message_handler;
#  126|           server->watch_for_keystroke_handler = watch_for_keystroke_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1507]
plymouth-24.004.60/src/ply-boot-server.c:125: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  123|           server->ask_question_handler = ask_question_handler;
#  124|           server->display_message_handler = display_message_handler;
#  125|->         server->hide_message_handler = hide_message_handler;
#  126|           server->watch_for_keystroke_handler = watch_for_keystroke_handler;
#  127|           server->ignore_keystroke_handler = ignore_keystroke_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1508]
plymouth-24.004.60/src/ply-boot-server.c:126: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  124|           server->display_message_handler = display_message_handler;
#  125|           server->hide_message_handler = hide_message_handler;
#  126|->         server->watch_for_keystroke_handler = watch_for_keystroke_handler;
#  127|           server->ignore_keystroke_handler = ignore_keystroke_handler;
#  128|           server->progress_pause_handler = progress_pause_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1509]
plymouth-24.004.60/src/ply-boot-server.c:127: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  125|           server->hide_message_handler = hide_message_handler;
#  126|           server->watch_for_keystroke_handler = watch_for_keystroke_handler;
#  127|->         server->ignore_keystroke_handler = ignore_keystroke_handler;
#  128|           server->progress_pause_handler = progress_pause_handler;
#  129|           server->progress_unpause_handler = progress_unpause_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1510]
plymouth-24.004.60/src/ply-boot-server.c:128: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  126|           server->watch_for_keystroke_handler = watch_for_keystroke_handler;
#  127|           server->ignore_keystroke_handler = ignore_keystroke_handler;
#  128|->         server->progress_pause_handler = progress_pause_handler;
#  129|           server->progress_unpause_handler = progress_unpause_handler;
#  130|           server->newroot_handler = newroot_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1511]
plymouth-24.004.60/src/ply-boot-server.c:129: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  127|           server->ignore_keystroke_handler = ignore_keystroke_handler;
#  128|           server->progress_pause_handler = progress_pause_handler;
#  129|->         server->progress_unpause_handler = progress_unpause_handler;
#  130|           server->newroot_handler = newroot_handler;
#  131|           server->error_handler = error_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1512]
plymouth-24.004.60/src/ply-boot-server.c:130: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  128|           server->progress_pause_handler = progress_pause_handler;
#  129|           server->progress_unpause_handler = progress_unpause_handler;
#  130|->         server->newroot_handler = newroot_handler;
#  131|           server->error_handler = error_handler;
#  132|           server->system_initialized_handler = initialized_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1513]
plymouth-24.004.60/src/ply-boot-server.c:131: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  129|           server->progress_unpause_handler = progress_unpause_handler;
#  130|           server->newroot_handler = newroot_handler;
#  131|->         server->error_handler = error_handler;
#  132|           server->system_initialized_handler = initialized_handler;
#  133|           server->show_splash_handler = show_splash_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1514]
plymouth-24.004.60/src/ply-boot-server.c:132: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  130|           server->newroot_handler = newroot_handler;
#  131|           server->error_handler = error_handler;
#  132|->         server->system_initialized_handler = initialized_handler;
#  133|           server->show_splash_handler = show_splash_handler;
#  134|           server->hide_splash_handler = hide_splash_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1515]
plymouth-24.004.60/src/ply-boot-server.c:133: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  131|           server->error_handler = error_handler;
#  132|           server->system_initialized_handler = initialized_handler;
#  133|->         server->show_splash_handler = show_splash_handler;
#  134|           server->hide_splash_handler = hide_splash_handler;
#  135|           server->deactivate_handler = deactivate_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1516]
plymouth-24.004.60/src/ply-boot-server.c:134: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  132|           server->system_initialized_handler = initialized_handler;
#  133|           server->show_splash_handler = show_splash_handler;
#  134|->         server->hide_splash_handler = hide_splash_handler;
#  135|           server->deactivate_handler = deactivate_handler;
#  136|           server->reactivate_handler = reactivate_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1517]
plymouth-24.004.60/src/ply-boot-server.c:135: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  133|           server->show_splash_handler = show_splash_handler;
#  134|           server->hide_splash_handler = hide_splash_handler;
#  135|->         server->deactivate_handler = deactivate_handler;
#  136|           server->reactivate_handler = reactivate_handler;
#  137|           server->quit_handler = quit_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1518]
plymouth-24.004.60/src/ply-boot-server.c:136: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  134|           server->hide_splash_handler = hide_splash_handler;
#  135|           server->deactivate_handler = deactivate_handler;
#  136|->         server->reactivate_handler = reactivate_handler;
#  137|           server->quit_handler = quit_handler;
#  138|           server->has_active_vt_handler = has_active_vt_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1519]
plymouth-24.004.60/src/ply-boot-server.c:137: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  135|           server->deactivate_handler = deactivate_handler;
#  136|           server->reactivate_handler = reactivate_handler;
#  137|->         server->quit_handler = quit_handler;
#  138|           server->has_active_vt_handler = has_active_vt_handler;
#  139|           server->reload_handler = reload_handler;

Error: CPPCHECK_WARNING (CWE-476): [#def1520]
plymouth-24.004.60/src/ply-boot-server.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  136|           server->reactivate_handler = reactivate_handler;
#  137|           server->quit_handler = quit_handler;
#  138|->         server->has_active_vt_handler = has_active_vt_handler;
#  139|           server->reload_handler = reload_handler;
#  140|           server->user_data = user_data;

Error: CPPCHECK_WARNING (CWE-476): [#def1521]
plymouth-24.004.60/src/ply-boot-server.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  137|           server->quit_handler = quit_handler;
#  138|           server->has_active_vt_handler = has_active_vt_handler;
#  139|->         server->reload_handler = reload_handler;
#  140|           server->user_data = user_data;
#  141|   

Error: CPPCHECK_WARNING (CWE-476): [#def1522]
plymouth-24.004.60/src/ply-boot-server.c:140: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  138|           server->has_active_vt_handler = has_active_vt_handler;
#  139|           server->reload_handler = reload_handler;
#  140|->         server->user_data = user_data;
#  141|   
#  142|           return server;

Error: CPPCHECK_WARNING (CWE-476): [#def1523]
plymouth-24.004.60/src/ply-boot-server.c:170: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: 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): [#def1524]
plymouth-24.004.60/src/ply-boot-server.c:170:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘connection’
plymouth-24.004.60/src/ply-boot-server.c:169:22: acquire_memory: this call could return NULL
plymouth-24.004.60/src/ply-boot-server.c:170:9: danger: ‘connection’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  168|   
#  169|           connection = calloc (1, sizeof(ply_boot_connection_t));
#  170|->         connection->fd = fd;
#  171|           connection->server = server;
#  172|           connection->watch = NULL;

Error: CPPCHECK_WARNING (CWE-476): [#def1525]
plymouth-24.004.60/src/ply-boot-server.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: connection
#  169|           connection = calloc (1, sizeof(ply_boot_connection_t));
#  170|           connection->fd = fd;
#  171|->         connection->server = server;
#  172|           connection->watch = NULL;
#  173|           connection->reference_count = 1;

Error: CPPCHECK_WARNING (CWE-476): [#def1526]
plymouth-24.004.60/src/ply-boot-server.c:172: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: connection
#  170|           connection->fd = fd;
#  171|           connection->server = server;
#  172|->         connection->watch = NULL;
#  173|           connection->reference_count = 1;
#  174|   

Error: CPPCHECK_WARNING (CWE-476): [#def1527]
plymouth-24.004.60/src/ply-boot-server.c:173: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: connection
#  171|           connection->server = server;
#  172|           connection->watch = NULL;
#  173|->         connection->reference_count = 1;
#  174|   
#  175|           return connection;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1528]
plymouth-24.004.60/src/ply-boot-server.c:245:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*command’
plymouth-24.004.60/src/ply-boot-server.c:236:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:237:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:237:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:239:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:241:12: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:244:20: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:244:20: acquire_memory: this call could return NULL
plymouth-24.004.60/src/ply-boot-server.c:245:9: danger: ‘calloc(2, 1)’ could be NULL: unchecked value from [(7)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/6)
#  243|   
#  244|           *command = calloc (2, sizeof(char));
#  245|->         *command[0] = header[0];
#  246|   
#  247|           *argument = NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1529]
plymouth-24.004.60/src/ply-boot-server.c:245:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘command’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  243|   
#  244|           *command = calloc (2, sizeof(char));
#  245|->         *command[0] = header[0];
#  246|   
#  247|           *argument = NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1530]
plymouth-24.004.60/src/ply-boot-server.c:251:22: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  249|                   uint8_t argument_size;
#  250|   
#  251|->                 if (!ply_read (connection->fd, &argument_size, sizeof(uint8_t))) {
#  252|                           free (*command);
#  253|                           return false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1531]
plymouth-24.004.60/src/ply-boot-server.c:258:22: warning[-Wanalyzer-malloc-leak]: leak of ‘argument’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  256|                   *argument = calloc (argument_size, sizeof(char));
#  257|   
#  258|->                 if (!ply_read (connection->fd, *argument, argument_size)) {
#  259|                           free (*argument);
#  260|                           free (*command);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1532]
plymouth-24.004.60/src/ply-boot-server.c:258:22: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  256|                   *argument = calloc (argument_size, sizeof(char));
#  257|   
#  258|->                 if (!ply_read (connection->fd, *argument, argument_size)) {
#  259|                           free (*argument);
#  260|                           free (*command);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1533]
plymouth-24.004.60/src/ply-boot-server.c:265:14: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  263|           }
#  264|   
#  265|->         if (!ply_get_credentials_from_fd (connection->fd, &connection->pid, &connection->uid, NULL)) {
#  266|                   ply_trace ("couldn't read credentials from connection: %m");
#  267|                   free (*argument);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1534]
plymouth-24.004.60/src/ply-boot-server.c:266:17: warning[-Wanalyzer-malloc-leak]: leak of ‘command’
plymouth-24.004.60/src/ply-boot-server.c:406:1: enter_function: entry to ‘ply_boot_connection_on_request’
plymouth-24.004.60/src/ply-boot-server.c:411:9: branch_true: following ‘true’ branch (when ‘connection’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:412:9: branch_true: following ‘true’ branch...
plymouth-24.004.60/src/ply-boot-server.c:414:9: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:415:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:417:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:417:14: call_function: calling ‘ply_boot_connection_read_request’ from ‘ply_boot_connection_on_request’
#  264|   
#  265|           if (!ply_get_credentials_from_fd (connection->fd, &connection->pid, &connection->uid, NULL)) {
#  266|->                 ply_trace ("couldn't read credentials from connection: %m");
#  267|                   free (*argument);
#  268|                   free (*command);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1535]
plymouth-24.004.60/src/ply-boot-server.c:325:17: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(password)’
plymouth-24.004.60/src/ply-boot-server.c:321:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/ply-boot-server.c:324:12: branch_false: ...to here
plymouth-24.004.60/src/ply-boot-server.c:324:12: branch_true: following ‘true’ branch (when ‘password’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:326:39: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:326:39: acquire_memory: allocated here
plymouth-24.004.60/src/ply-boot-server.c:325:17: danger: ‘strdup(password)’ leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#  323|   
#  324|           if (password != NULL)
#  325|->                 ply_list_append_data (connection->server->cached_passwords,
#  326|                                         strdup (password));
#  327|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1536]
plymouth-24.004.60/src/ply-boot-server.c:792:17: warning[-Wanalyzer-malloc-leak]: leak of ‘ply_boot_connection_new(server,  accept4(*server.socket_fd,  <Ufab0>, 0, 524288))’
plymouth-24.004.60/src/ply-boot-server.c:777:1: enter_function: entry to ‘ply_boot_server_on_new_connection’
plymouth-24.004.60/src/ply-boot-server.c:782:9: branch_true: following ‘true’ branch (when ‘server’ is non-NULL)...
plymouth-24.004.60/src/ply-boot-server.c:784:14: branch_true: ...to here
plymouth-24.004.60/src/ply-boot-server.c:786:12: branch_false: following ‘false’ branch...
plymouth-24.004.60/src/ply-boot-server.c:789:22: branch_false: ...to here
plymouth-24.004.60/src/ply-boot-server.c:789:22: call_function: calling ‘ply_boot_connection_new’ from ‘ply_boot_server_on_new_connection’
plymouth-24.004.60/src/ply-boot-server.c:789:22: return_function: returning to ‘ply_boot_server_on_new_connection’ from ‘ply_boot_connection_new’
plymouth-24.004.60/src/ply-boot-server.c:792:17: danger: ‘ply_boot_connection_new(server,  accept4(*server.socket_fd,  <Ufab0>, 0, 524288))’ leaks here; was allocated at [(8)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/7)
#  790|   
#  791|           connection->watch =
#  792|->                 ply_event_loop_watch_fd (server->loop, fd,
#  793|                                            PLY_EVENT_LOOP_FD_STATUS_HAS_DATA,
#  794|                                            (ply_event_handler_t)

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-92.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-gcc-latest-x86_64
project-nameplymouth-24.004.60-21.fc44
store-results-to/tmp/tmplfuxld6k/plymouth-24.004.60-21.fc44.tar.xz
time-created2025-10-28 19:43:31
time-finished2025-10-28 19:45:21
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmplfuxld6k/plymouth-24.004.60-21.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmplfuxld6k/plymouth-24.004.60-21.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9