xfs: don't cast string literals
PATCH 1/1 xfs: don't cast string literals
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?
---
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...)
fs/xfs/libxfs/xfs_format.h +2 -2
@@ -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
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 14 lines · Eric Sandeen
The commit:
a9273ca5xfs: convert attr to use unsigned namesadded these (unsigned char *) casts, but then the
_SIZEmacros return "7" - size of a pointer minus one - not the length of the string. This is harmless in the kernel, because the_SIZEmacros 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?
Quoted 9 lines
Signed-off-by Eric Sandeen <[email protected]>---
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:
Quoted 16 lines
fs/xfs/libxfs/xfs_format.h +2
-2@@ -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)
Quoted 4 lines
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs