On Thu, Nov 24, 2022 at 08:59:29AM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > When -Wstringop-truncation is enabled, the compiler complains about > truncation of the null byte at the end of the xattr name prefix. This > is intentional, since we're concatenating the two strings together and > do _not_ want a null byte in the middle of the name. > > We've already ensured that the name buffer is long enough to handle > prefix and name, and the prefix_len is supposed to be the length of the > prefix string without the null byte, so use memcpy here instead. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx> Thanks, Gao Xiang > --- > fs/xfs/xfs_xattr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > > diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c > index c325a28b89a8..10aa1fd39d2b 100644 > --- a/fs/xfs/xfs_xattr.c > +++ b/fs/xfs/xfs_xattr.c > @@ -210,7 +210,7 @@ __xfs_xattr_put_listent( > return; > } > offset = context->buffer + context->count; > - strncpy(offset, prefix, prefix_len); > + memcpy(offset, prefix, prefix_len); > offset += prefix_len; > strncpy(offset, (char *)name, namelen); /* real name */ > offset += namelen;