[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 |