[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for 2.10 00/35] fix bugs reported by Clang Static An
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH for 2.10 00/35] fix bugs reported by Clang Static Analyzer |
Date: |
Mon, 24 Jul 2017 15:27:16 -0300 |
Hi,
This series is the result of having fun with Clang's Static Analyzer during
the week-end (see https://clang-analyzer.llvm.org/).
No need to delay the first batch for -rc0.
Patch 1 was in another series (delayed for 2.11), it would be nice to have it
in 2.10.
I built a docker image based on debian/unstable to use bleeding code, the
Dockerfile is provided at the end of this series as RFC for people wanted
to give a try (also include 'dockershell' script and a fix in ./configure).
These RFC patches (33-35) are not expected to enter 2.10.
I used the following commands:
$ make docker-image-debian-bleeding-dev
$ ./scripts/dockershell debian-bleeding-dev
$ mkdir -p build
$ cd build
$ ../configure --host-cc=clang-5.0 --cc=clang-5.0 --cxx=clang++-5.0 \
--disable-docs --enable-debug
$ scan-build-5.0 -o testresults --keep-going -maxloop 2 -no-failure-reports \
-analyzer-config stable-report-filename=true \
-disable-checker alpha.clone.CloneChecker \
-enable-checker alpha.core.CastSize \
-enable-checker alpha.core.Conversion \
-enable-checker alpha.core.IdenticalExpr \
-enable-checker alpha.core.SizeofPtr \
-disable-checker alpha.deadcode.UnreachableCode \
-enable-checker alpha.security.ArrayBoundV2 \
-enable-checker alpha.security.MallocOverflow \
-enable-checker alpha.unix.cstring.BufferOverlap \
-enable-checker alpha.unix.cstring.OutOfBounds \
-disable-checker deadcode.DeadStores \
-disable-checker optin.performance.Padding \
-enable-checker optin.portability.UnixAPI \
-disable-checker security.insecureAPI.getpw \
-disable-checker security.insecureAPI.gets \
-enable-checker security.insecureAPI.strcpy \
-disable-checker unix.Vfork \
make -k -j4
Regards,
Phil.
Philippe Mathieu-Daudé (35):
tests: add missing dependency to build QTEST_QEMU_BINARY
loader: check get_image_size() return value
thunk: check nb_fields is valid before continuing
ivshmem: fix incorrect error handling in ivshmem_recv_msg()
nbd: fix memory leak in nbd_opt_go()
qcow2: remove inconsistent check
qcow2: fix null pointer dereference
qcow2: fix null pointer dereference
ui/vnc: fix leak of SocketAddress **
net/eth: fix incorrect check of iov_to_buf() return value
i2c/exynos4210: correctly check i2c_recv() return value
vfio/platform: fix use of freed memory
vfio/pci: fix use of freed memory
vfio/ccw: fix incorrect malloc() size
usb: correctly handle Zero Length Packets
usb/dev-mtp: fix use of uninitialized values
usb/dev-mtp: fix use of uninitialized values
usb/dev-mtp: fix use of uninitialized values
usb/dev-mtp: fix use of uninitialized variable
arm/boot: fix undefined instruction on secondary smp cpu bootloader
arm/sysbus-fdt: fix null pointer dereference
arm/vexpress: fix potential memory leak
m68k/translate: fix incorrect copy/paste
linux-user/sh4: fix incorrect memory write
linux-user: extract is_error() out of syscall.c
linux-user: use is_error() to avoid warnings and make the code clearer
syscall: fix dereference of undefined pointer
syscall: check dup/dup2/dup3() errors, return EBADFD/EINVAL if
required
syscall: fix out-of-bound memory access
syscall: fix use of uninitialized values
syscall: replace strcpy() by g_strlcpy()
timer/pxa2xx: silent warning about out-of-bound memory access
configure: clang does not support -Wexpansion-to-defined
docker: add debian 'bleeding' image with gcc7 and clang5
script to run docker image
block/qcow2-bitmap.c | 4 +-
block/qcow2-refcount.c | 4 +-
configure | 6 +-
hw/arm/boot.c | 2 +-
hw/arm/sysbus-fdt.c | 11 ++-
hw/arm/vexpress.c | 5 +-
hw/core/loader.c | 4 +-
hw/i2c/exynos4210_i2c.c | 8 +-
hw/misc/ivshmem.c | 5 +-
hw/timer/pxa2xx_timer.c | 2 +-
hw/usb/dev-mtp.c | 60 +++++++++-----
hw/usb/redirect.c | 2 +-
hw/vfio/ccw.c | 2 +-
hw/vfio/pci.c | 11 ++-
hw/vfio/platform.c | 2 +-
linux-user/elfload.c | 2 +-
linux-user/flatload.c | 15 ++--
linux-user/qemu.h | 5 ++
linux-user/syscall.c | 45 +++++++----
nbd/client.c | 8 +-
net/eth.c | 4 +-
scripts/dockershell | 30 +++++++
target/m68k/translate.c | 3 +-
tests/Makefile.include | 2 +-
.../docker/dockerfiles/debian-bleeding-dev.docker | 94 ++++++++++++++++++++++
thunk.c | 5 +-
ui/vnc.c | 36 ++++-----
27 files changed, 279 insertions(+), 98 deletions(-)
create mode 100755 scripts/dockershell
create mode 100644 tests/docker/dockerfiles/debian-bleeding-dev.docker
--
2.13.3
- [Qemu-devel] [PATCH for 2.10 00/35] fix bugs reported by Clang Static Analyzer,
Philippe Mathieu-Daudé <=