[lvm-devel] [PATCH 00/30] Fixes from clang

Jim Meyering jim at meyering.net
Mon Oct 25 09:12:00 UTC 2010


Zdenek Kabelac wrote:
> Patchset combines code cleanups for compiler warnings
> and code fixes found by static analyzer scan-build.
>
> Potentional NULL pointer dereferencies are mostly
> in very unusual code execution paths. I've tried to
> order them on their importance - the later ones are not
> event trigerable as surrounding code should not be to
> pass problematic values - but checks seems to be simple
> enough to keep static analysis happy.
>
> Last patches in this set add some instrumentation to
> function calls that might allow better code optimization
> or better static analysis.
>
> Zdenek Kabelac (30):
>   Fix clang warning for ntohl(*((uint32_t *)buf))
>   Use dm_pool_grow_object embeded strlen for 0 delta
>   Check (type) is not NULL before access
>   Fix NULL pointer dereference
>   Print vg_name and do not to access vg->name
>   Ensure we always have origin defined
>   Ensure seg is nonnull
>   Ensure  first is not NULL
>   Reuse result of previous strchr.
>   Fix potential NULL pointer dereference
>   Fix theoretical usage of NULL pointer dereference
>   Check for NULL pointer
>   Eliminate uninitialized_var
>   Fix missing initilisation to 0
>   Function pull_state cannot work with NULL buffer
>   Fix  void* pointer arithmetic
>   Use const pvid for device_from_pvid()
>   Use const pointer for return value of dm_basename
>   Fix constness warning
>   Fix constness warning
>   Fix constness warning
>   Fix constness warning
>   Using const config node
>   bufused is assigned 0 in preceding source line
>   Proper C declaration
>   Use static
>   Instrument compiler about code unreachability
>   Skip uninitialized macro for scan-build
>   Add some __attribute__ instrumentation
>   __attribute__((nonnull(1)))

Nice work!
Getting any project in good enough shape to pass clang's
tests is tedious but well worth it.




More information about the lvm-devel mailing list