Skip to content

Commit

Permalink
Merge pull request #2785 from firewave/cppcheck-inc
Browse files Browse the repository at this point in the history
updated Cppcheck to 2.12.1 / provide more includes to Cppcheck
  • Loading branch information
matt335672 authored Oct 18, 2023
2 parents b1fca01 + 8c21428 commit da8fa05
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 20 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ jobs:
CC: gcc
# This is required to use a version of cppcheck other than that
# supplied with the operating system
CPPCHECK_VER: "2.11"
CPPCHECK_VER: "2.12.1"
CPPCHECK_REPO: https://github.com/danmar/cppcheck.git
steps:
# Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20')
Expand All @@ -183,6 +183,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

Expand Down
8 changes: 3 additions & 5 deletions fontutils/mkfv1.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,9 @@ static const struct
const char *err_msg;
} ft_errors[] =
#include <freetype/fterrors.h>

#if 0
/* These lines fix problems with astyle formatting following the ft_errors
* definition */
}
#ifdef __cppcheck__
// avoid syntaxError by providing the array contents
{};
#endif


Expand Down
9 changes: 6 additions & 3 deletions scripts/install_cppcheck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -123,17 +123,20 @@ fi

cd "$workdir"

make_args="MATCHCOMPILER=yes FILESDIR=$FILESDIR PREFIX=$FILESDIR"

case "$CPPCHECK_VER" in
1.*)
# CFGDIR is needed for cppcheck before 1.86
make_args="FILESDIR=$FILESDIR PREFIX=$FILESDIR CFGDIR=$FILESDIR"
make_args="$make_args CFGDIR=$FILESDIR"
;;
2.8 | 2.9 | 2.1*)
# Cppcheck 2.8 removed the dependency on z3
make_args="FILESDIR=$FILESDIR PREFIX=$FILESDIR"
# Cppcheck 2.8 added optional support for utilizing Boost
make_args="$make_args CPPFLAGS=-DHAVE_BOOST"
;;
2.*)
make_args="FILESDIR=$FILESDIR PREFIX=$FILESDIR USE_Z3=yes"
make_args="$make_args USE_Z3=yes"
# Check that the Z3 development files appear to be installed
# before trying to create z3_version.h. Otherwise we may
# mislead the user as to what needs to be done.
Expand Down
12 changes: 9 additions & 3 deletions scripts/install_cppcheck_dependencies_with_apt.sh
Original file line number Diff line number Diff line change
@@ -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()
{
Expand All @@ -15,15 +16,20 @@ if [ $# -ne 1 ]; then
fi
CPPCHECK_VER="$1"

apt-get update

case "$CPPCHECK_VER" in
1.*)
# no dependencies
;;
2.8 | 2.9 | 2.1*)
# Cppcheck 2.8 removed the dependency on z3
# Cppcheck 2.8 added optional support for utilizing Boost
PACKAGES="$PACKAGES libboost-container-dev"
;;
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
5 changes: 4 additions & 1 deletion scripts/run_cppcheck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ 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 -i third_party"
--enable=warning --error-exitcode=1 -i third_party \
--suppress=uninitMemberVar:ulalaca/ulalaca.cpp \
--suppress=shiftTooManyBits:libxrdp/xrdp_mppc_enc.c \
-I . -I common"
fi
CPPCHECK_FLAGS="$CPPCHECK_FLAGS -D__cppcheck__"

Expand Down
13 changes: 6 additions & 7 deletions sesman/chansrv/clipboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
}

Expand Down

0 comments on commit da8fa05

Please sign in to comment.