Dear strace developers, We are creating a Linux distribution focused on reliability, security, and speed using the musl libc and a special version of fortify-headers created for that libc. This fortification has caused an illegal memcpy in the test suite, in nlattr.c: on 64-bit platforms, 'unsigned int' can be 64-bits, while nlhdrmsg's msg_len is a __u32 in linux/netlink.h.
The attached patch fixes this by declaring msg_len as uint32_t instead of unsigned int. Best, --arw -- A. Wilcox (awilfox) Project Lead, Adélie Linux http://adelielinux.org
--- strace-4.18/tests/nlattr.c.old 2017-07-05 07:08:09.000000000 +0000 +++ strace-4.18/tests/nlattr.c 2017-08-17 00:25:26.734218699 +0000 @@ -61,7 +61,7 @@ }; struct msg *msg; struct nlattr *nla; - unsigned int msg_len; + uint32_t msg_len; long rc; /* fetch fail: len < sizeof(struct nlattr) */ @@ -259,7 +259,7 @@ }; struct msg *msg; struct nlattr *nla; - unsigned int msg_len; + uint32_t msg_len; long rc; msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel