provide more includes to Cppcheck

- added (temporary) suppression of Cppcheck `shiftTooManyBits` false positives in `libxrdp/xrdp_mppc_enc.c`
- fix Cppcheck `nullPointerRedundantCheck` in `sesman/chansrv/clipboard.c`
This commit is contained in:
firewave 2023-09-04 11:32:12 +02:00 committed by matt335672
parent 66c668c44b
commit 90c7e72656
4 changed files with 17 additions and 11 deletions

View File

@ -145,6 +145,7 @@ jobs:
key: ${{ steps.os.outputs.image }}-build-${{ env.cache-name }}-${{ env.CPPCHECK_VER }}
- run: sudo scripts/install_cppcheck_dependencies_with_apt.sh $CPPCHECK_VER
- run: ./bootstrap
- run: ./configure
- run: scripts/install_cppcheck.sh $CPPCHECK_REPO $CPPCHECK_VER
- run: scripts/run_cppcheck.sh -v $CPPCHECK_VER

View File

@ -1,7 +1,8 @@
#!/bin/sh
set -eufx
PACKAGES="libz3-dev z3"
# these are the packages necessary to run ./configure so config_ac.h is generated
PACKAGES="libpam0g-dev libxfixes-dev libxrandr-dev nasm"
usage()
{
@ -15,6 +16,8 @@ if [ $# -ne 1 ]; then
fi
CPPCHECK_VER="$1"
apt-get update
case "$CPPCHECK_VER" in
1.*)
# no dependencies
@ -23,7 +26,8 @@ case "$CPPCHECK_VER" in
# Cppcheck 2.8 removed the dependency on z3
;;
2.*)
apt-get update
apt-get -yq --no-install-suggests --no-install-recommends install $PACKAGES
PACKAGES="$PACKAGES libz3-dev z3"
;;
esac
apt-get -yq --no-install-suggests --no-install-recommends install $PACKAGES

View File

@ -43,7 +43,9 @@ fi
# Supply default flags passed to cppcheck if necessary
if [ -z "$CPPCHECK_FLAGS" ]; then
CPPCHECK_FLAGS="--quiet --force --std=c11 --std=c++11 --inline-suppr \
--enable=warning --error-exitcode=1"
--enable=warning --error-exitcode=1 \
--suppress=shiftTooManyBits:libxrdp/xrdp_mppc_enc.c \
-I . -I common"
fi
CPPCHECK_FLAGS="$CPPCHECK_FLAGS -D__cppcheck__"

View File

@ -2572,14 +2572,12 @@ clipboard_event_property_notify(XEvent *xevent)
format_in_bytes = FORMAT_TO_BYTES(actual_format_return);
new_data_len = nitems_returned * format_in_bytes;
cptr = (char *) g_malloc(g_clip_s2c.total_bytes + new_data_len, 0);
g_memcpy(cptr, g_clip_s2c.data, g_clip_s2c.total_bytes);
g_free(g_clip_s2c.data);
if (cptr == NULL)
{
/* cannot add any more data */
g_free(g_clip_s2c.data);
g_clip_s2c.data = 0;
/* cannot add any more data */
if (data != 0)
{
XFree(data);
@ -2588,14 +2586,15 @@ clipboard_event_property_notify(XEvent *xevent)
XDeleteProperty(g_display, g_wnd, g_clip_s2c.property);
return 0;
}
g_memcpy(cptr, g_clip_s2c.data, g_clip_s2c.total_bytes);
g_free(g_clip_s2c.data);
LOG_DEVEL(LOG_LEVEL_DEBUG, "clipboard_event_property_notify: new_data_len %d", new_data_len);
g_clip_s2c.data = cptr;
g_memcpy(g_clip_s2c.data + g_clip_s2c.total_bytes, data, new_data_len);
g_clip_s2c.total_bytes += new_data_len;
if (data)
{
g_memcpy(g_clip_s2c.data + g_clip_s2c.total_bytes, data, new_data_len);
g_clip_s2c.total_bytes += new_data_len;
XFree(data);
}