On 4/15/20 7:11 AM, Gregg Leventhal wrote:
+ xattr_size = flistxattr(src_fd, list, size); + if ( xattr_size || errno == ERANGE )
Surely this should be 'if (flistxattr (src_fd, NULL, 0) < 0 && errno == ERANGE)'.
If you agree with this direction, I can continue, addressing other affected code paths (i.e --preserve=mode).
This sounds like a good thing to do. Before you spend a lot of time on it, though, would you be willing to assign copyright to your work product to the FSF so that we could install the patch? If so, I can send you email on how to fill out the paperwork; if not, we'd better arrange for someone else to write the fix.