fsetxattr strings are not truncated

Марк Коренберг socketpair at gmail.com
Thu Dec 22 03:50:35 UTC 2016


Dear developers,

Here is `strace -s 2` output:

[pid  5236] fgetxattr(52, "us"..., "0", 2) = 2
[pid  5236] flistxattr(52, NULL, 0)     = 66
[pid  5236] flistxattr(52, "us"..., 132) = 66
[pid  5236] fgetxattr(52, "us"..., "\x10\x08
\x01\x00\x00\x04\x03H\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00rbd_data.26dae2ae8944a.00000000000000a3\xfe\xff\xff\xff\xff\xff\xff\xff\xe7Q\xa6\x8c\x00\x00\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x06\x03\x1c\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xf3\x02\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\x02\x02\x15\x00\x00\x00\x08\xd6t\x02\x00\x00\x00\x00\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00qH[X\x89\xd1\xc7-\x02\x02\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
2048) = 250
[pid  5236] fgetxattr(52, "us"..., "\x00\x00\x00\x004\x00\x00\x00qH[X@
\xccK4pJ6|\xff\xff\xff\xff\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00",
1798) = 44
[pid  5236] fgetxattr(52, "us"...,
"\x02\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
2048) = 31
[pid  5236] fgetxattr(52, "us"..., 0x0, 0) = -1 ENODATA (No data available)
[pid  5236] fsetxattr(52, "us"..., "\x10\x08
\x01\x00\x00\x04\x03H\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00rbd_data.26dae2ae8944a.00000000000000a3\xfe\xff\xff\xff\xff\xff\xff\xff\xe7Q\xa6\x8c\x00\x00\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x06\x03\x1c\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xf6\x02\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\xf3\x02\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\x02\x02\x15\x00\x00\x00\x08\xbax\x02\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x8bL[X\x7f#8/\x02\x02\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
250, 0) = 0
[pid  5236] fsetxattr(52, "us"...,
"\x00\x00\x00\x004\x00\x00\x00\x8bL[Xy2\xb76\x89\x19\x16\x1c\xff\xff\xff\xff\x00\x00@
\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00", 44, 0) = 0
[pid  5236] fremovexattr(52, "us"...)   = -1 ENODATA (No data available)
[pid  5236] fsetxattr(52, "us"...,
"\x02\x02\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
31, 0) = 0


I expect that all strings should be truncated to 2 bytes. This does not
happen for *xattr syscalls. So I consider this is a bug.

Cheers,
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20161222/a73e781e/attachment.html>


More information about the Strace-devel mailing list