A suspicious warning in sys/boot/zfs/zfsimpl.c

Garrett Cooper yanegomi at gmail.com
Sat Dec 1 10:59:49 UTC 2012


On Mon, Jul 2, 2012 at 6:21 PM, Taku YAMAMOTO <taku at tackymt.homeip.net> wrote:
> When I built the world as of r237813, clang reported a warning which
> caught my attention.
>
> ===> sys/boot/zfs (all)
> clang  -O2 -pipe -march=pentium4 -DBOOTPROG=\"zfsloader\" -I/usr/src/sys/boot/zfs/../common -I/usr/src/sys/boot/zfs/../.. -I. -I/usr/src/sys/boot/zfs/../../../lib/libstand -I/usr/src/sys/boot/zfs/../../cddl/boot/zfs -ffreestanding -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -Wformat -Wall -DNDEBUG -std=gnu99 -Qunused-arguments  -c /usr/src/sys/boot/zfs/zfs.c -o zfs.o
> In file included from /usr/src/sys/boot/zfs/zfs.c:48:
> /usr/src/sys/boot/zfs/zfsimpl.c:2033:19: warning: array index 264 is past the end of the array (which contains 192 elements) [-Warray-bounds]
>                                 memcpy(path, &dn.dn_bonus[sizeof(znode_phys_t)],
>                                               ^           ~~~~~~~~~~~~~~~~~~~~
> /usr/src/sys/boot/zfs/../../cddl/boot/zfs/zfsimpl.h:788:2: note: array 'dn_bonus' declared here
>         uint8_t dn_bonus[DN_MAX_BONUSLEN - sizeof (blkptr_t)];
>         ^
>
> I don't have a zfs-powered machine, so I'm not sure whether this
> warning is false-positive or not.

    I'm seeing the same warnings trying to build HEAD r242903 with
clang on amd64. Andriy CCed.
Thanks,
-Garrett


More information about the freebsd-current mailing list