[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH] sockets: Fix stringop-truncation warning
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-trivial] [PATCH] sockets: Fix stringop-truncation warning |
Date: |
Wed, 3 Apr 2019 15:28:14 +0200 |
On Wed, Apr 3, 2019 at 2:23 PM Daniel P. Berrangé <address@hidden> wrote:
> On Wed, Apr 03, 2019 at 02:16:20PM +0200, Philippe Mathieu-Daudé wrote:
> > Compiling with clang-8 fails with:
> >
> > CC util/qemu-sockets.o
> > util/qemu-sockets.c: In function 'unix_connect_saddr':
> > util/qemu-sockets.c:925:5: error: 'strncpy' specified bound 108 equals
> > destination size [-Werror=stringop-truncation]
> > strncpy(un.sun_path, saddr->path, sizeof(un.sun_path));
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > util/qemu-sockets.c: In function 'unix_listen_saddr':
> > util/qemu-sockets.c:880:5: error: 'strncpy' specified bound 108 equals
> > destination size [-Werror=stringop-truncation]
> > strncpy(un.sun_path, path, sizeof(un.sun_path));
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > Per the unix socket manpage:
> >
> > UNIX(7)
> >
> > Pathname sockets
> > When binding a socket to a pathname, a few rules should be observed for
> > maximum portability and ease of coding:
> > * The pathname in sun_path should be null-terminated.
> > * The length of the pathname, including the terminating null byte,
> > should not exceed the size of sun_path.
> >
> > Reduce the length of the unix socket path by 1 to hold the NUL byte.
>
> Note it just says "should", not "must" here. IOW, there is no requirement
> to NUL terminate and so we should not artifically require that at QEMU
> level either. If mgmt apps want to have NUL termination then they can
> just pass a shorter path to QEMU to start with.
>
> I've proposed the fix for the warning you mention here:
>
> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg07759.html
Oh I missed it, thanks for pointing it.
Regards,
Phil.