|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] libxl: fix -Werror=stringop-truncation in libxl__prepare_sockaddr_un
On Tue, Aug 18, 2020 at 08:43:56PM -0700, Elliott Mitchell wrote:
> On Wed, Aug 19, 2020 at 04:00:36AM +0200, Marek Marczykowski-G??recki wrote:
> > diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> > index f360f5e228..b039143b8a 100644
> > --- a/tools/libxl/libxl_utils.c
> > +++ b/tools/libxl/libxl_utils.c
>
>
> > }
> > memset(un, 0, sizeof(struct sockaddr_un));
> > un->sun_family = AF_UNIX;
> > - strncpy(un->sun_path, path, sizeof(un->sun_path));
> > + strncpy(un->sun_path, path, sizeof(un->sun_path) - 1);
> > return 0;
> > }
>
> While the earlier lines are okay, this line introduces an error.
Why exactly? strncpy() copies up to n characters, quoting its manual
page:
If there is no null byte among the first n bytes of src, the string
placed in dest will not be null-terminated
But since the whole struct is zeroed out initially, this should still
result in a null terminated string, as the last byte of that buffer will
not be touched by the strncpy.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Attachment:
signature.asc
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |