xfs
[Top] [All Lists]

Re: [PATCH] xfs: don't cast string literals

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] xfs: don't cast string literals
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Thu, 14 May 2015 10:21:55 -0400
Cc: xfs-oss <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <5553DB60.6060907@xxxxxxxxxx>
References: <5553DB60.6060907@xxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
On Wed, May 13, 2015 at 06:16:48PM -0500, Eric Sandeen wrote:
> The commit:
> 
> a9273ca5 xfs: convert attr to use unsigned names
> 
> added these (unsigned char *) casts, but then the _SIZE macros
> return "7" - size of a pointer minus one - not the length of
> the string.  This is harmless in the kernel, because the _SIZE
> macros are not used, but as we sync up with userspace, this will
> matter.
> 
> I don't think the cast is necessary; i.e. assigning the string
> literal to an unsigned char *, or passing it to a function
> expecting an unsigned char *, should be ok, right?
> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
> 
> I can send the xfsprogs version if you like, if this passes
> muster ;)
> 
> (the other option is to cast it back to a (char *) in the sizeof
> but then things are just getting weird IMHO...)
> 

Heh, the cast inside the directive looks weird enough to me in the first
place. In this case it seems spurious, so I'm fine with it:

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

> diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
> index 4daaa66..ff22a4d 100644
> --- a/fs/xfs/libxfs/xfs_format.h
> +++ b/fs/xfs/libxfs/xfs_format.h
> @@ -1453,8 +1453,8 @@ struct xfs_acl {
>               sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp)))
>  
>  /* On-disk XFS extended attribute names */
> -#define SGI_ACL_FILE         (unsigned char *)"SGI_ACL_FILE"
> -#define SGI_ACL_DEFAULT              (unsigned char *)"SGI_ACL_DEFAULT"
> +#define SGI_ACL_FILE         "SGI_ACL_FILE"
> +#define SGI_ACL_DEFAULT              "SGI_ACL_DEFAULT"
>  #define SGI_ACL_FILE_SIZE    (sizeof(SGI_ACL_FILE)-1)
>  #define SGI_ACL_DEFAULT_SIZE (sizeof(SGI_ACL_DEFAULT)-1)
>  
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>